En este corto tutorial de C vamos a ver cómo eliminar el último carácter o última letra de una cadena.

Recuerda que en C las cadenas son un poco difíciles de manejar, ya que de hecho las mismas no existen pues estamos trabajando con arreglos de tipo carácter.

Pero bueno, veamos cómo eliminar la última letra de una string en ANSI C.

Explicando algoritmo

En C, las cadenas son arreglos de tipo char. El arreglo debe tener la longitud necesaria para guardar la cadena pero además debe tener un espacio extra para guardar el final de la cadena indicado por el carácter \0.

Eliminar última letra de cadena en C

Entonces este carácter siempre estará al final de todas las cadenas. Por lo que para eliminar el último carácter simplemente vamos a colocar este terminador (null terminating character) en la longitud de la cadena menos 1.

Nota: recuerda que ya vimos cómo obtener la longitud de una cadena con C. Yo usaré strlen para que esto sea simple.

Eliminar último char de string en C

Entonces el código para quitar la última letra queda así:

#include <stdio.h>
#include <string.h>

#define MAXIMA_LONGITUD_CADENA 1000

int main()
{
    char cadena[MAXIMA_LONGITUD_CADENA] = "Parzibyte.me_";
    printf("Antes de eliminar: '%s'\n", cadena);
    cadena[strlen(cadena) - 1] = '\0';
    printf("Despues de eliminar: '%s'\n", cadena);
    return 0;
}

No olvides revisar si la longitud de la cadena es mayor a 0 en caso de que el usuario maneje la cadena o cosas similares.

También recuerda que puedes remover otros caracteres de la cadena en lugar de solo quitar el último.

Para terminar te dejo con más tutoriales de C en mi blog.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto