atoi, atol, atoll
|
Definido en el encabezado
<stdlib.h>
|
||
|
int
atoi
(
const
char
*
str
)
;
|
(1) | |
|
long
atol
(
const
char
*
str
)
;
|
(2) | |
|
long
long
atoll
(
const
char
*
str
)
;
|
(3) | (desde C99) |
Interpreta un valor entero en una cadena de bytes apuntada por str . La base implícita es siempre 10 .
Descarta cualquier carácter de espacio en blanco hasta que se encuentre el primer carácter que no sea un espacio en blanco, luego toma tantos caracteres como sea posible para formar una representación válida de número entero y los convierte en un valor entero. El valor entero válido consta de las siguientes partes:
- (opcional) signo más o menos
- dígitos numéricos
Si el valor del resultado no puede ser representado, es decir, el valor convertido cae fuera del rango del tipo de retorno correspondiente, el comportamiento es indefinido.
Contenidos |
Parámetros
| str | - | puntero a la cadena de bytes terminada en nulo que se va a interpretar |
Valor de retorno
Valor entero correspondiente al contenido de str en caso de éxito.
Si no se puede realizar ninguna conversión, 0 es retornado.
Notas
El nombre significa "ASCII a entero".
Ejemplo
#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")); // tratado como número decimal con ceros iniciales printf("%i\n", atoi("0x2A")); // solo el cero inicial se convierte descartando "x2A" printf("%i\n", atoi("junk")); // no se puede realizar ninguna conversión printf("%i\n", atoi("2147483648")); // UB: fuera del rango de int }
Salida posible:
-123 321 0 42 0 0 -2147483648
Referencias
- Estándar C23 (ISO/IEC 9899:2024):
-
- 7.22.1.2 Las funciones atoi, atol y atoll (p: TBD)
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.22.1.2 Las funciones atoi, atol y atoll (p: 249)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.22.1.2 Las funciones atoi, atol y atoll (p: 341)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 7.20.1.2 Las funciones atoi, atol y atoll (p: 307)
- Estándar C89/C90 (ISO/IEC 9899:1990):
-
- 4.10.1.2 The atoi function
-
- 4.10.1.3 The atol function
Véase también
|
(C99)
|
convierte una cadena de bytes a un valor entero
(función) |
|
(C99)
|
convierte una cadena de bytes a un valor entero sin signo
(función) |
|
(C95)
(C99)
|
convierte una cadena ancha a un valor entero
(función) |
|
(C95)
(C99)
|
convierte una cadena ancha a un valor entero sin signo
(función) |
|
Documentación de C++
para
atoi
,
atol
,
atoll
|
|