Convertir int to string en c

Convertir int to string en c
“Los tipos de datos de cadenas están en todas partes en la programación moderna, desde lenguajes de programación de bajo nivel hasta lenguajes de alto nivel que hacen un gran esfuerzo para abstraer los conceptos fundamentales. Por lo tanto, se encontrará trabajando con cuerdas en cualquier lenguaje de programación más que no.

Para ese propósito, discutiremos métodos rápidos y muy amigables para principiantes para convertir un entero en una cadena en el lenguaje de programación C."

Método 1 - Convertir int en cadena usando la función SPRINTF

La función sprintf es una de las funciones que puede usar para convertir un valor entero en una cadena. Como su nombre indica, la función tomará cualquier valor e imprimirá en una cadena.

Es muy similar a la función printf. Pero en lugar de imprimir el valor en el estándar, la función devuelve una cadena formateada que podemos almacenar en una variable y usar más tarde.

La sintaxis de la función es como se muestra a continuación:

int sprintf (char *str, const char *format, [arg1, arg2,…]);

La función acepta tres parámetros principales:

  1. STR: esto especifica un puntero a un tipo de datos de char.
  2. Formato: el parámetro de formato le permite especificar el tipo de salida con un marcador de posición.
  3. ARGS: este parámetro especifica los valores enteros en los que convertir en una cadena.

Notarás que la función devuelve un tipo int. Esto se debe a que devuelve una cadena formateada que se descarta y un valor de -1 si se produce un error.

Veamos esta función en acción.

#incluir
intmain ()
int var = 100;
charint_str [20];
sprintf (int_str, "%d", var);
printf ("var: %s", int_str);
return0;

En el código anterior, comenzamos importando los archivos de encabezado necesarios. Para la función sprint (), solo requerimos el archivo de encabezado de entrada y salida estándar.

Luego abrimos la función principal y declaramos dos variables. El primero es el valor entero que deseamos convertir a una cadena.

La siguiente variable es la matriz de caracteres que usaremos para almacenar el valor de la cadena una vez que conviertamos el int en una cadena.

Luego usamos la función sprint y pasamos el tipo de char, el formato y el int como los parámetros.

Finalmente, podemos imprimir la cadena resultante usando la función printf. La salida resultante es una muestra:

$ GCC TO_STRING.C
ps ./a.afuera
Var: 100

Método 2 - Convertir int to string with itoa () función (no estándar)

Hay otra función no estándar en C que puede usar para convertir un int en una cadena. Es una función de clasificación de tipo simple. Apareció por primera vez en el libro de lenguaje de programación C.

Sin embargo, como dice el libro, esta función no es estándar y no maneja muy bien enteros negativos.

Dado que no es estándar, intentar compilar la función dependerá en gran medida de su sistema operativo y si la función está disponible.

Sin embargo, somos desarrolladores y experimentar está en nuestra naturaleza.

La siguiente sintaxis muestra cómo funciona la función itoa ().

char * itoa (int num, char * buffer, int base)

La función toma tres parámetros principales:

  1. Num: este parámetro se refiere al valor int que desea convertir a una cadena.
  2. Buffer: el parámetro del búfer es un puntero a un tipo de datos de char para contener la cadena convertida.
  3. Base: se refiere a la base de conversión.

La función devuelve una cadena del entero especificado.

El siguiente código ilustra cómo usar la función ITOA () para convertir un int en una cadena.

#incluir
#incluir
#incluir
intmain ()
int var = 100;
charint_string [20];
iToa (var, int_string, 10);
printf ("var: %s \ n", int_string);
return0;

Aquí, especificamos la conversión del int to Base 10.

Clausura

En este artículo, cubrimos dos métodos principales para convertir un int en una cadena en c. Es bueno atenerse a la función sprintf, ya que es una función estándar y se puede exportar en todos los sistemas.

Gracias por leer y feliz codificación!!