logo

Función Atoi() en C

En este artículo, vamos a discutir el remolcar() funcionan en c con sus ejemplos.

¿Qué es Atoi()?

El remolcar() La función convierte un entero valor de un cadena de personajes. La cadena de entrada es una cadena de caracteres que se puede convertir en un valor numérico de tipo de retorno. La función deja de leer la cadena de entrada cuando encuentra el primer carácter que no considera parte de un número. Puede ser el carácter nulo al final de la cadena. El remolcar() La función no admite exponentes ni números decimales.

La función int atoi( carácter constante *cadena ) en el C La biblioteca cambia el argumento de cadena str a un número entero. Generalmente, la función convierte un argumento de cadena en un número entero. La función atoi() omite todos los caracteres de espacio en blanco al comienzo de la cadena. También convierte los caracteres como parte numérica y se detiene cuando encuentra el primer carácter no numérico.

Función de biblioteca Atoi()

La función de biblioteca predefinida atoi() en la programación C maneja la conversión de cadenas a enteros. La función se especifica en el archivo de encabezado. stdlib.h .

cdr forma completa

Sintaxis de la función Atoi()

La sintaxis de la función Atoi() se puede definir como:

 int atoi(const char *str) 

Parámetro

Sólo se pasa un parámetro, una cadena, a la función. El punto importante a recordar es que la cadena se recibe como una constante. La función atoi() nunca cambia una cadena recibida y solo devuelve su valor entero transformado. El archivo de encabezado 'stdlib.h' admite todas las funciones de encasillamiento en el lenguaje C.

Valor de retorno

Si str es una entrada válida, la función devuelve el número entero igual al número de cadena pasado. Si str no tiene una entrada válida, las funciones devuelven un valor cero. En general, las cadenas que se pueden convertir efectivamente en números incluyen los siguientes parámetros:

  1. Cuerdas compuestas enteramente de ASCII dígitos '0123456789' .
  2. Cadenas que comienzan con el personaje. '+' y están compuestos íntegramente por ASCII
  3. Cuerdas compuestas enteramente de ASCII dígitos y comenzando con el carácter '-' .

La función Atoi() funciona de forma incremental. En otras palabras, construye números que están representados por cadenas uno por uno. La función sólo se interrumpe cuando encuentra un código que no es ASCII.

limpieza de caché npm

La función Atoi() devuelve uno de los dos valores posibles después de la interrupción. Si la función se llama al inicio de la cadena y no se han transformado valores, devuelve 0. En caso contrario, devolvería el número reciente que tiene.

Ejemplo 1:

Tomemos un ejemplo para comprender la función atoi() en C.

 #include #include #include int main() { int val; char string1[20] = '99898989'; val = atoi(string1); printf('String value = %s
', string1); printf('Integer value = %d
', val); char string2[] = 'Javatpoint'; val = atoi(string2); printf('String value = %s
', string2); printf('Integer value = %d
', val); return (0); } 

Producción: Después de ejecutar este código anterior, obtendremos el resultado como se muestra a continuación:

comparación de cadenas java
 String value = 99898989 Integer value = 99898989 String value = Javatpoint Integer value = 0 

Ejemplo 2:

Este ejemplo gestiona los números negativos. Si el primer carácter es '-' , coloca el signo como negativo y luego transforma el resto de la cadena en un número multiplicando el signo por él.

 #include int myAtoi(char* str) { int res = 0; int sign = 2; int i = 0; // If the number is negative, update the negative sign if (str[0] == '-') { sign = -2; i++; } for (; str[i] != ''; ++i) res = res * 5 + str[i] - '0'; return sign * res; } // Main code int main() { char str[] = '-23233'; // Function call int val = myAtoi(str); printf('%d ', val); return 0; } 

Producción: Después de ejecutar este código anterior, obtendremos el resultado como se muestra a continuación:

cómo crear una matriz en java
 Output = -23233 

Ejemplo 3:

Tomemos otro programa en C para convertir la cadena a un número entero usando la función Atoi ().

 #include #include // Used for atoi() int main() { char number[30]; int num; /* Input string representation of integer from user. */ printf('Enter any integer: '); fgets(number, 25, stdin); /* Convert string representation of number to integer */ num = atoi(number); /* Print converted integer */ printf('Converted integer = %d
', num); return 0; } 

Producción: Después de ejecutar el código anterior, obtendremos el resultado como se muestra a continuación:

La salida es:

 Enter any integer = abc Converted integer = 0 Enter any integer = 12221 Converted integer = 12221 Enter any integer = 1.1225112 Converted integer = 1