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

  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 !";

  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;
    }

  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); ?

  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

  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

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