En este post sobre C te mostraré cómo concatenar un carácter y una cadena, es decir, agregar un tipo de dato char
a un tipo de dato char*
que no es otra cosa más que un arreglo de caracteres, ya que en C no existen las strings como tal.
Explicado con pocas palabras te enseñaré como agregar un char como 'a'
a una cadena como "Hol"
.
Aunque en otros lenguajes esto no tiene ninguna complejidad, en ANSI C hay que escribir un poco más de código.
Primero veamos la función que nos permitirá hacer esto. Lo que se hace dentro de la misma es crear una cadena temporal a partir del carácter, definiendo un arreglo de caracteres y agregando el \0
(carácter NULL
) al final del mismo para que sea una cadena válida.
Aquí básicamente estamos convirtiendo el char a string.
Luego se invoca a la función strcat
que va a concatenar nuestra cadena temporal (que solo tiene el char) a la cadena indicada.
// Nota: la cadena debería tener espacio suficiente para concatenar el carácter.
// Esta función no se encarga de evitar desbordamientos o cosas parecidas
// https://parzibyte.me/blog
void concatenarCharACadena(char c, char *cadena)
{
char cadenaTemporal[2];
cadenaTemporal[0] = c;
cadenaTemporal[1] = '\0';
strcat(cadena, cadenaTemporal);
}
De este modo vamos a tener el char agregado al final de la cadena. Fíjate en los comentarios de la función, sobre todo en lo que se refiere al espacio suficiente.
Ya te mostré el código de la función, ahora te enseñaré a usarla. El código completo junto con el uso del método dentro de main queda así:
#include <stdio.h>
#include <string.h>
#define MAXIMA_LONGITUD_CADENA 100
// Nota: la cadena debería tener espacio suficiente para concatenar el carácter.
// Esta función no se encarga de evitar desbordamientos o cosas parecidas
// https://parzibyte.me/blog
void concatenarCharACadena(char c, char *cadena)
{
char cadenaTemporal[2];
cadenaTemporal[0] = c;
cadenaTemporal[1] = '\0';
strcat(cadena, cadenaTemporal);
}
int main(int argc, char const *argv[])
{
char cadena[MAXIMA_LONGITUD_CADENA] = "Hol";
printf("Antes de concatenar: %s\n", cadena);
// Concatenar
char c = 'a';
concatenarCharACadena(c, cadena);
printf("Después de concatenar: %s\n", cadena);
return 0;
}
En la línea 19 declaramos la cadena, después de eso el ejemplo para concatenar está en la línea 22 y 23. Puedes invocar la función cuantas veces quieras, siempre y cuando la cadena tenga espacio suficiente.
Por cierto, recuerda que para usar strcat
necesitas importar a string.h, cosa que se está haciendo en la línea 2.
También te dejo un enlace para leer más sobre C en el blog de Parzibyte.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.
Ver comentarios
Muchas gracias genio!