Supprimer dernier caractère chaine C

Résolu/Fermé
cap'tain sheeps Messages postés 447 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 1 octobre 2014 - 15 juin 2011 à 11:00
 yo - 3 nov. 2012 à 17:39
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.

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'
3
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 54
15 juin 2011 à 14:05
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;
}
1
cap'tain sheeps Messages postés 447 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 1 octobre 2014 10
15 juin 2011 à 14:18
Ps après test : ça marche parfaitement.
Encore merci.
1
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 54
15 juin 2011 à 12:59
Bonjour, faites de la même façon que pour le type char

http://developer.gnome.org/glib/2.29/glib-Basic-Types.html#gchar
typedef char   gchar;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cap'tain sheeps Messages postés 447 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 1 octobre 2014 10
Modifié par cap'tain sheeps le 15/06/2011 à 13:34
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.
0
cap'tain sheeps Messages postés 447 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 1 octobre 2014 10
15 juin 2011 à 14:08
Ah ok donc il n'y avait pas de fonction toute faite. Merci beaucoup pour ton aide.
0