Supprimer dernier caractère chaine C [Résolu/Fermé]

Signaler
Messages postés
447
Date d'inscription
jeudi 19 mai 2011
Statut
Membre
Dernière intervention
1 octobre 2014
-
 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.

A voir également:

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'
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
401
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
27 avril 2014
53
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;
}
Messages postés
447
Date d'inscription
jeudi 19 mai 2011
Statut
Membre
Dernière intervention
1 octobre 2014
10
Ps après test : ça marche parfaitement.
Encore merci.
Messages postés
401
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
27 avril 2014
53
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;
Messages postés
447
Date d'inscription
jeudi 19 mai 2011
Statut
Membre
Dernière intervention
1 octobre 2014
10
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.
Messages postés
447
Date d'inscription
jeudi 19 mai 2011
Statut
Membre
Dernière intervention
1 octobre 2014
10
Ah ok donc il n'y avait pas de fonction toute faite. Merci beaucoup pour ton aide.