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

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

3 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

4 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

3 semanas hace

Esta web usa cookies.