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
