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
