Mersi frumos!

Ce-i drept eu citisem de pe cplusplus.com[1] unde nu arata si exemplul de
tratare a erorii. O sa caut in manual data viitoare.

[1] http://www.cplusplus.com/reference/cstdlib/strtol/

*George Bogdan Oprea*
Faculty of Automatic Control and Computers
University POLITEHNICA of Bucharest

e-mail:[email protected]
telephone: +40 747 042 805

2016-03-13 21:15 GMT+02:00 Adrian Stanciu <[email protected]>:

> 2016-03-13 20:01 GMT+02:00 Bogdan Oprea via so <[email protected]>:
> > Salut,
> >
> > Eu citesc intrarea ca un string pe care apoi il parsez. Pentru
> situatiile in
> > care am nevoie de conversie string - long int folosesc strtol.
> >
> > Problema mea ar fi ca nu imi dau seama exact cum as putea trata o eroare
> in
> > urma strtol. In documentatie am gasit urmatoarea explicatie:
> >
> > "On success, the function returns the converted integral number as a long
> > int value.
> > If no valid conversion could be performed, a zero value is returned (0L).
> > If the value read is out of the range of representable values by a long
> int,
> > the function returns LONG_MAX or LONG_MIN (defined in <climits>), and
> errno
> > is set to ERANGE."
> >
> > Initial m-am folosit de faptul ca intoarce 0 daca nu poate face
> conversie.
> > Doar ca pentru print_bucket pot avea ca indice si 0 caz in care valoarea
> > returnata de strtol nu o pot trata ca pe o eroare. Din cate inteleg errno
> > este setat doar daca valoarea este out of range, deci nu vad cum m-as
> folosi
> > de asta.
> >
>
> Salut Bogdan,
>
> Poți să folosești exemplul de verificare din pagina de manual [1].
>
> [1] http://man7.org/linux/man-pages/man3/strtol.3.html
>
>
> Adrian
>
_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Raspunde prin e-mail lui