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.
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.