function
<cstdlib>
atoi
int atoi (const char * str);
Convert string to integer
千万注意啦!!!是int 类型!!!在目前的编译器中和long一样。是9位。如果超出则会爆!!!
123456789可以, 1234567890不行。因为乘以2后超出范围。
Enter a number: 123456789123456789
The value entered is -1395630315. Its double is 1503706666.
--------------------------------
Process exited with return value 0
Press any key to continue . . .
Parses the C-string
str interpreting its content as an integral number, which is returned as a value of type
--------------------------------
Process exited with return value 0
Press any key to continue . . .
int
.
The function first discards as many whitespace characters (as in isspace) as necessary until the first non-whitespace character is found. Then, starting from this character, takes an optional initial plus or minus sign followed by as many base-10 digits as possible, and interprets them as a numerical value.
The string can contain additional characters after those that form the integral number, which are ignored and have no effect on the behavior of this function.
If the first sequence of non-whitespace characters in str is not a valid integral number, or if no such sequence exists because either str is empty or it contains only whitespace characters, no conversion is performed and zero is returned.
Parameters
-
str
- C-string beginning with the representation of an integral number.
Return Value
On success, the function returns the converted integral number as anint
value.
If the converted value would be out of the range of representable values by an
int
, it causes
undefined behavior. See
strtol for a more robust cross-platform alternative when this is a possibility.
Example
| |
Output:
Enter a number: 73 The value entered is 73. Its double is 146. |
Data races
The array pointed by str is accessed.Exceptions (C++)
No-throw guarantee: this function never throws exceptions.If str does not point to a valid C-string, or if the converted value would be out of the range of values representable by an
int
, it causes
undefined behavior.
See also
-
atol
- Convert string to long integer (function )
-
atof
- Convert string to double (function )
-
strtol
- Convert string to long integer (function )