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.

Función para concatenar char y string en C

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.

Ejemplo: concatenar carácter a cadena en C

Concatenar char y string en C

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

17 horas hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

1 semana hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

1 semana hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

1 semana hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

1 semana hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

1 semana hace

Esta web usa cookies.