Cómo convertir un entero en una cadena en C
-
sprintf()
Función para convertir un entero a una cadena en C -
itoa()
Función para convertir un entero en una cadena en C
Este tutorial introduce cómo convertir un entero en un valor de cadena en C. Hay diferentes métodos para la conversión de un entero en una cadena en C, como la función sprintf()
, itoa()
.
sprintf()
Función para convertir un entero a una cadena en C
Como su nombre lo indica, se utiliza para imprimir cualquier valor en una cadena. Esta función ofrece una manera fácil de convertir un entero en una cadena. Funciona de la misma manera que la función printf()
, pero no imprime un valor directamente en la consola sino que devuelve una cadena formateada. El valor de retorno se descarta normalmente, pero si se produce un error durante la operación, devuelve -1
.
sprintf()
Sintaxis:
int sprintf(char *str, const char *format, [ arg1, arg2, ... ]);
str
es un puntero a un tipo de datos char.format
se usa para mostrar el tipo de salida junto con el marcador de posición.arg1
,arg2
son números enteros para convertir en una cadena.
Código de ejemplo de sprintf()
para convertir un entero en una cadena en C
#include <stdio.h>
int main(void) {
int number;
char text[20];
printf("Enter a number: ");
scanf("%d", &number);
sprintf(text, "%d", number);
printf("\nYou have entered: %s", text);
return 0;
}
Resultado:
Enter a number: 20
You have entered: 20
itoa()
Función para convertir un entero en una cadena en C
itoa()
es una función de casting de tipo en C. Esta función convierte un entero en una cadena de terminación nula. También puede convertir un número negativo.
itoa()
Sintaxis
char* itoa(int num, char* buffer, int base)
num
es un número entero.buffer
es un puntero a un tipo de datos de caracteres.base
es una base de conversión. Define un valor entero para convertirlo en un valor base y lo almacena en un buffer. Si la base es 10 y el valor es negativo, la cadena resultante precederá al signo menos (-
).
Código de ejemplo de la función itoa()
para convertir un entero en una cadena en C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
int number, l;
char string[20];
printf("Enter a number: ");
scanf("%d", &number);
itoa(number, string, 10);
printf("String value = %s\n", string);
return 0;
}
Resultado:
Enter a number: 15
String value: 15
itoa()
no es una función estándar de ANSI C. Puede que no funcione en su compilador GCC dependiendo de su plataforma.Artículo relacionado - C Integer
- División entera en C
- Diferencia entre Unsigned Int y Signed Int en C
- Convertir Char* a Int en C
- Cómo convertir una cadena en un número entero en Do
- Convierte entero a carácter en C