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 :

concaténer un type char à une chaine


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2002
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 10
    Points : 10
    Points
    10
    Par défaut concaténer un type char à une chaine
    Bonjour,
    J'ai un petit soucis avec la manipulation dechaines.

    J'ai une chaine déclarée ainsi :
    unsigned char * mot;

    et je voudrais simplement ajouter un caractère de type unsigned char à la fin de celle-ci.

    J'ai essayé plusieurs manipulations :
    strcat, injections directe dans le tableau mot[x]=..., sprintf,... mais tt à échoué. Pouvez vous m'aider ???

    Merci

  2. #2
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    J'ai une chaine déclarée ainsi :
    unsigned char * mot;
    Ce n'est pas une chaine, c'est un pointeur non-initialise pouvant contenir l'adresse d'une variable de type char non signe.
    Un chaine, c'est un tableau de caracteres termine par un '\0'.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    char chaine[200];
     
    sprintf(chaine, "Ceci est une chaine.");

  3. #3
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut Re: concaténer un type char à une chaine
    Citation Envoyé par Fabs
    Bonjour,
    J'ai un petit soucis avec la manipulation dechaines.

    J'ai une chaine déclarée ainsi :
    unsigned char * mot;
    Je ne vois pas de chaine. Je ne vois qu'un pointeur non initialisé.

    http://emmanuel-delahaye.developpez.....htm#char_star
    Pas de Wi-Fi à la maison : CPL

  4. #4
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par DaZumba
    Un chaine, c'est un tableau de caracteres termine par un '\0'.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    char chaine[200];
     
    sprintf(chaine, "Ceci est une chaine.");
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    char chaine[200] = "Ca aussi !";
    Pas de Wi-Fi à la maison : CPL

  5. #5
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Qu'est ce qui ne fonctionne pas avec sprintf (peut etre ton utilisation 8) 8) )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include <stdio.h>
     
    int main(void) {
        unsigned char car[200] = "salu";
        unsigned char c = 't';
        sprintf(car,"%s%c",car, c);
        printf("%s\n",car);
        return 0;
    }
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  6. #6
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Skyrunner >> juste une petite remarque, pourquoi n'utilises tu pas puts(car) plutôt que printf("%s\n", car); ?
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2002
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Oki ! merci à tous de votre réponse.

    Cela fonctionne à présent. :-)

  8. #8
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par Trap D
    Skyrunner >> juste une petite remarque, pourquoi n'utilises tu pas puts(car) plutôt que printf("%s\n", car); ?
    Bonne question.
    Ben je ne sais pas, j'aime bien printf
    Mais tu a raison j'aurai pu utiliser puts
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  9. #9
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Trap D
    Skyrunner >> juste une petite remarque, pourquoi n'utilises tu pas puts(car) plutôt que printf("%s\n", car); ?
    Parce que ça se transforme facilement en
    Pas de Wi-Fi à la maison : CPL

Discussions similaires

  1. Concaténer 2 entiers avec une chaine de caractères
    Par sifouasma dans le forum MATLAB
    Réponses: 8
    Dernier message: 28/02/2014, 17h03
  2. Réponses: 4
    Dernier message: 26/01/2010, 15h43
  3. Concaténer un nombre et une chaine
    Par bastien dans le forum Langage
    Réponses: 5
    Dernier message: 30/11/2007, 17h20
  4. tester le type d'une chaine
    Par molesqualeux dans le forum C
    Réponses: 33
    Dernier message: 03/02/2006, 08h47
  5. Char(x) -> chaine concaténée d'espaces ?
    Par rgz dans le forum Débuter
    Réponses: 7
    Dernier message: 27/06/2003, 11h59

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