IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Chaînes de caractères


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 134
    Points : 66
    Points
    66
    Par défaut Chaînes de caractères
    Bonjour,

    Quand je veux déclarer un chaîne de caractères comme celà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    char *Truc ;
    Truc = "MachinChose" ;
    cela veut dire que je veut que Truc ait la même taille que "MachinChose" n'est ce pas ?

    Donc ce serait équivalent à :

    ??

    Merci

    Zazeglu

  2. #2
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Points : 4 637
    Points
    4 637
    Par défaut
    Non ca veut dire que le pointeur Truc contient l'adresse a laquelle est situe la chaine constante "MachinChose".

  3. #3
    Membre habitué Avatar de Metal Tom
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 119
    Points : 129
    Points
    129
    Par défaut
    En gros sur une adresse qui a été résevée par le compilateur. Aucune mémoire n'a été allouée dynamiquement. C'est pas top d'utiliser ça comme ça.
    Vaut mieux un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char *truc = (char *)malloc(12*sizeof(char));
    strcpy(truc,"MachinChose");
    Ne pas oublier un char pour le '\0'.
    Sinon il y a ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char *truc=strdup("Machinchose");
    Ca t'alloue la chaine avec un malloc interne au strdup.
    Dans les deux cas il ne faut pas oublier les free.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 134
    Points : 66
    Points
    66
    Par défaut
    Merci

    Zazeglu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Problème de chaîne de caractères (BSTR)
    Par patvdb dans le forum MFC
    Réponses: 2
    Dernier message: 26/02/2004, 15h44
  3. Réponses: 2
    Dernier message: 18/10/2003, 14h42
  4. Inverser une chaîne de caractères
    Par DBBB dans le forum Assembleur
    Réponses: 2
    Dernier message: 30/03/2003, 11h09
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo