atoi, atol, atoll
From cppreference.com
 
 
 
 
 
  C 
 Concurrency support (C11)
 Null-terminated byte strings 
  
  
 
 
 
  
  
  
 
 Functions
 Character manipulation
 Conversions to and from numeric formats
(C99)(C99)
(C99)(C99)
(C23)(C23)(C23)
 String manipulation
 String examination
 Memory manipulation
 Miscellaneous
(C11)(C11)
Defined in header 
 
 
<stdlib.h> 
 int       atoi ( const char* str );
 (1) 
 
long      atol ( const char* str );
 (2) 
 
long long atoll( const char* str );
 (3) 
 (since C99) 
Interprets an integer value in a byte string pointed to by str. The implied radix is always 10.
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:
- (optional) plus or minus sign
 - numeric digits
 
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.
[edit] Parameters
 str
 -
 pointer to the null-terminated byte string to be interpreted
[edit] Return value
Integer value corresponding to the contents of str on success.
If no conversion can be performed, 0 is returned.
[edit] Notes
The name stands for "ASCII to integer".
[edit] Example
Run this code
#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 zeros printf ("%i\n", atoi("0x2A")); // only leading zero is converted discarding "x2A" printf ("%i\n", atoi("junk")); // no conversion can be performed printf ("%i\n", atoi("2147483648")); // UB: out of range of int }
Possible output:
-123 321 0 42 0 0 -2147483648
[edit] References
- C23 standard (ISO/IEC 9899:2024):
 
- 7.22.1.2 The atoi, atol, and atoll functions (p: TBD)
 
- C17 standard (ISO/IEC 9899:2018):
 
- 7.22.1.2 The atoi, atol, and atoll functions (p: 249)
 
- C11 standard (ISO/IEC 9899:2011):
 
- 7.22.1.2 The atoi, atol, and atoll functions (p: 341)
 
- C99 standard (ISO/IEC 9899:1999):
 
- 7.20.1.2 The atoi, atol, and atoll functions (p: 307)
 
- C89/C90 standard (ISO/IEC 9899:1990):
 
- 4.10.1.2 The atoi function
 
- 4.10.1.3 The atol function
 
[edit] See also
C++ documentation  for atoi, atol, atoll