Supprimer dernier caractère chaine C
Résolu
cap'tain sheeps
Messages postés
491
Statut
Membre
-
yo -
yo -
Bonjour,
J'aimerais supprimer les 3 derniers caractères d'une chaîne de type gchar*. Seulement je ne connais pas la fonction qui me permettrais de le faire. A vrai dire, je ne sais pas si elle existe.
Quelqu'un pourrait-il me dire si elle existe (et son nom), ou bien dois-je me débrouiller autrement?
Merci d'avance,
Sheeps.
J'aimerais supprimer les 3 derniers caractères d'une chaîne de type gchar*. Seulement je ne connais pas la fonction qui me permettrais de le faire. A vrai dire, je ne sais pas si elle existe.
Quelqu'un pourrait-il me dire si elle existe (et son nom), ou bien dois-je me débrouiller autrement?
Merci d'avance,
Sheeps.
6 réponses
-
je m'y prend peut être tard, mais je pense que si tu connais la taille de ta chaine t'a qu'a mettre comme caractère en str[longeur-3]='\0'
-
Une chaîne se termine par le caractère null \0 normalement vous devriez pouvoir déterminer la fin de la chaîne et remplacer les 3 derniers par des \0
#include <stdio.h> #include <glib.h> #include <string.h> #include <stdlib.h> int main (void) { int size,i; gchar *test=malloc(sizeof(gchar)*20); strcpy(test,"hello world"); i=size=strlen(test)-1; while(i>size-3){ test[i]='\0'; i--; } printf("%s\n",test); free(test); return 0; } -
Ps après test : ça marche parfaitement.
Encore merci. -
Bonjour, faites de la même façon que pour le type char
http://developer.gnome.org/glib/2.29/glib-Basic-Types.html#gchartypedef char gchar;
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour et merci, justement, je ne sais pas non plus comment faire pour le type char. Est-il possible de me donner la méthode ou simplement le nom de la fonction?
Merci. -
Ah ok donc il n'y avait pas de fonction toute faite. Merci beaucoup pour ton aide.