| Functions | |||||||||||||||||||||||||||||||||||||||||
| Character manipulation | |||||||||||||||||||||||||||||||||||||||||
| Conversions to and from numeric formats | |||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||
| String manipulation | |||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||
| String examination | |||||||||||||||||||||||||||||||||||||||||
| Memory manipulation | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
| Miscellaneous | |||||||||||||||||||||||||||||||||||||||||
(C11)(C11) | |||||||||||||||||||||||||||||||||||||||||
Defined in header <stdlib.h> | ||
int atoi(constchar* str); | (1) | |
long atol(constchar* str); | (2) | |
longlong atoll(constchar* str); | (3) | (since C99) |
Interprets an integer value in a byte string pointed to bystr. The implied radix is always10.
Discards any whitespace characters until the first non-whitespace character is found, then takes as many characters as possible to form a valid integer number representation and converts them to an integer value. The valid integer value consists of the following parts:
If the value of the result cannot be represented, i.e. the converted value falls out of range of the corresponding return type, the behavior is undefined.
Contents |
| str | - | pointer to the null-terminated byte string to be interpreted |
Integer value corresponding to the contents ofstr on success.
If no conversion can be performed,0 is returned.
The name stands for “ASCII to integer”.
#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"));// treated as a decimal number with leading zerosprintf("%i\n", atoi("0x2A"));// only leading zero is converted discarding "x2A"printf("%i\n", atoi("junk"));// no conversion can be performedprintf("%i\n", atoi("2147483648"));// UB: out of range of int}
Possible output:
-12332104200-2147483648
(C99) | converts a byte string to an integer value (function)[edit] |
(C99) | converts a byte string to an unsigned integer value (function)[edit] |
(C95)(C99) | converts a wide string to an integer value (function)[edit] |
(C95)(C99) | converts a wide string to an unsigned integer value (function)[edit] |
C++ documentation foratoi,atol,atoll | |