Revision as of 12:13, 5 July 2010 editFrescoBot (talk | contribs)Bots1,135,457 editsm Bot: links syntax and spacing← Previous edit | Revision as of 10:59, 4 August 2010 edit undoBoud (talk | contribs)Autopatrolled, Extended confirmed users, Pending changes reviewers31,585 edits clearer deprecation warning in favour of strtolNext edit → | ||
Line 5: | Line 5: | ||
The <code>str</code> argument is a string, represented by an array of characters, containing the characters of a signed integer number. The string must be null-terminated. When atoi encounters a string with no numerical sequence, it returns zero (0). If the string holds a valid sequence of digits that represents the number 0, it also returns a 0, making it impossible to tell from the return value alone whether the string holds a valid number or not. The newer function ] does not have this deficiency. | The <code>str</code> argument is a string, represented by an array of characters, containing the characters of a signed integer number. The string must be null-terminated. When atoi encounters a string with no numerical sequence, it returns zero (0). If the string holds a valid sequence of digits that represents the number 0, it also returns a 0, making it impossible to tell from the return value alone whether the string holds a valid number or not. The newer function ] does not have this deficiency. | ||
Other problems of atoi are that it is not ] and not ].<ref name="codecogs_atoi">http://www.codecogs.com/reference/c/stdlib.h/atoi.php</ref> | |||
Variants of the '''atoi''' function, '''atol''', '''atof''', and '''atoll''' (the latter formerly known as '''atoq'''), are used to convert a string into a <code>long</code>, <code>double</code>, or <code>long</code> <code>long</code> type, respectively: | Variants of the '''atoi''' function, '''atol''', '''atof''', and '''atoll''' (the latter formerly known as '''atoq'''), are used to convert a string into a <code>long</code>, <code>double</code>, or <code>long</code> <code>long</code> type, respectively: | ||
Line 15: | Line 17: | ||
The '''atoi''', '''atof''', and '''atol''' functions are a part of the ISO standard C library (]), while the '''atoll''' function is added by ]. | The '''atoi''', '''atof''', and '''atol''' functions are a part of the ISO standard C library (]), while the '''atoll''' function is added by ]. | ||
However, because of the ambiguity in returning 0 and lack of ]ty and ]ty, atoi is considered to be ] by ].<ref name="codecogs_atoi"/> | |||
==References== | ==References== | ||
Line 20: | Line 24: | ||
The written by ] (November 1971). | The written by ] (November 1971). | ||
<references/> | |||
==See also== | ==See also== |
Revision as of 10:59, 4 August 2010
The atoi (ASCII to integer) function in the C programming language is used to convert a string into a numerical representation.
int atoi(const char *str)
The str
argument is a string, represented by an array of characters, containing the characters of a signed integer number. The string must be null-terminated. When atoi encounters a string with no numerical sequence, it returns zero (0). If the string holds a valid sequence of digits that represents the number 0, it also returns a 0, making it impossible to tell from the return value alone whether the string holds a valid number or not. The newer function strtol does not have this deficiency.
Other problems of atoi are that it is not thread-safe and not async-cancel safe.
Variants of the atoi function, atol, atof, and atoll (the latter formerly known as atoq), are used to convert a string into a long
, double
, or long
long
type, respectively:
long atol(const char *str)
double atof(const char *str)
long long atoll(const char *str)
(C99)
Standards conformance
The atoi, atof, and atol functions are a part of the ISO standard C library (C89), while the atoll function is added by C99.
However, because of the ambiguity in returning 0 and lack of thread-safety and async-cancel safety, atoi is considered to be deprecated by strtol.
References
The Version 7 Unix Manual Pages © 1979 by Bell Telephone Laboratories, Incorporated.
The Version 1 Unix Manual page for atoi written by Ken Thompson (November 1971).