[so] [Tema1][General] Conversie string - long

Adrian Stanciu adrian.stanciu.pub at gmail.com
Sun Mar 13 21:15:08 EET 2016


2016-03-13 20:01 GMT+02:00 Bogdan Oprea via so <so at cursuri.cs.pub.ro>:
> 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


More information about the so mailing list