atoi, atol, atoll
|
Défini dans l'en-tête
<stdlib.h>
|
||
|
int
atoi
(
const
char
*
str
)
;
|
(1) | |
|
long
atol
(
const
char
*
str
)
;
|
(2) | |
|
long
long
atoll
(
const
char
*
str
)
;
|
(3) | (depuis C99) |
Interprète une valeur entière dans une chaîne d'octets pointée par str . La base implicite est toujours 10 .
Ignore tous les caractères d'espacement jusqu'à ce que le premier caractère non-espace soit trouvé, puis prend autant de caractères que possible pour former une représentation valide de nombre entier et les convertit en une valeur entière. La valeur entière valide se compose des parties suivantes :
- (optionnel) signe plus ou moins
- chiffres numériques
Si la valeur du résultat ne peut pas être représentée, c'est-à-dire si la valeur convertie sort de la plage du type de retour correspondant, le comportement est indéfini.
Table des matières |
Paramètres
| str | - | pointeur vers la chaîne d'octets terminée par un caractère nul à interpréter |
Valeur de retour
Valeur entière correspondant au contenu de str en cas de succès.
Si aucune conversion ne peut être effectuée, 0 est retourné.
Notes
Le nom signifie « ASCII vers entier ».
Exemple
#include <stdio.h> #include <stdlib.h> int main(void) { printf("%i\n", atoi(" -123junk")); printf("%i\n", atoi(" +321dust")); printf("%i\n", atoi("0")); printf("%i\n", atoi("0042")); // traité comme un nombre décimal avec des zéros en tête printf("%i\n", atoi("0x2A")); // seul le zéro initial est converti en ignorant "x2A" printf("%i\n", atoi("junk")); // aucune conversion ne peut être effectuée printf("%i\n", atoi("2147483648")); // UB : hors de la plage de int }
Sortie possible :
-123 321 0 42 0 0 -2147483648
Références
- Norme C23 (ISO/CEI 9899:2024) :
-
- 7.22.1.2 Les fonctions atoi, atol et atoll (p: TBD)
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.22.1.2 Les fonctions atoi, atol et atoll (p: 249)
- Norme C11 (ISO/CEI 9899:2011) :
-
- 7.22.1.2 Les fonctions atoi, atol et atoll (p: 341)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.20.1.2 Les fonctions atoi, atol et atoll (p : 307)
- Norme C89/C90 (ISO/CEI 9899:1990) :
-
- 4.10.1.2 La fonction atoi
-
- 4.10.1.3 La fonction atol
Voir aussi
|
(C99)
|
convertit une chaîne d'octets en une valeur entière
(fonction) |
|
(C99)
|
convertit une chaîne d'octets en une valeur entière non signée
(fonction) |
|
(C95)
(C99)
|
convertit une chaîne large en une valeur entière
(fonction) |
|
(C95)
(C99)
|
convertit une chaîne large en une valeur entière non signée
(fonction) |
|
Documentation C++
pour
atoi
,
atol
,
atoll
|
|