Re: [debutant]strtol & atol
Citation:
Envoyé par beloc
Dans le cas d'un saisie comme sur l'exemple d'Emmanuel
strtol (temp, NULL, 10) peut être remplacer par atol(temp) ?
beuh, non (sinon, je l'aurais fait!).
Les fonctions ato*() ont le statut 'dépréciées' (obsolètes ou deprecated) depuis la normalisation du C aux USA par l'ANSI en 1989 (reprise telle quelle au niveau international par l'ISO en 1990), et leur remplacement par les fonctions strto*() qui gèrent mieux les débordements et autres erreurs à l'exécution...
Exemple de 'man' pour 'atoi()':
http://man.developpez.com/man3/atoi.3.php
Re: [debutant]strtol & atol
Citation:
Envoyé par Emmanuel Delahaye
Citation:
Envoyé par beloc
Dans le cas d'un saisie comme sur l'exemple d'Emmanuel
strtol (temp, NULL, 10) peut être remplacer par atol(temp) ?
beuh, non (sinon, je l'aurais fait!).
Les fonctions ato*() ont le statut 'dépréciées' (obsolètes ou
deprecated) depuis la normalisation du C aux USA par l'ANSI en 1989 (reprise telle quelle au niveau international par l'ISO en 1990), et leur remplacement par les fonctions strto*() qui gèrent mieux les débordements et autres erreurs à l'exécution...
Exemple de 'man' pour 'atoi()':
http://man.developpez.com/man3/atoi.3.php
Y a pas l'équivalent pour convertir en int ?
Y faux d'office passer par un long ?
Atol = long
Atoi = int
strtol = long
strtoll = long long
merci,
Re: [debutant]strtol & atol
Citation:
Envoyé par beloc
Y a pas l'équivalent pour convertir en int ?
Dans la plupart des cas, un cast suffit:
Code:
1 2
|
int i = (int) strtol(...); |
Re: [debutant]strtol & atol
Citation:
Envoyé par DaZumba
Citation:
Envoyé par beloc
Y a pas l'équivalent pour convertir en int ?
Dans la plupart des cas, un cast suffit:
Code:
1 2
|
int i = (int) strtol(...); |
En toute rigueur, il faudrait vérifier avant qu'il n'y a pas de débordement...