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 :

Problème concaténation strcat


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 26
    Par défaut Problème concaténation strcat
    Bonjour,

    Je suis en train de réaliser un petit programme utilisant des chaines de caractères.

    J'ai déclaré deux caractères et une chaîne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    char touche1;
    char touche2;
    char nombre_a_trouver[3];
    Elles sont ensuite remplies du caractère tapé sur un clavier matriciel.

    Je veux ensuite les concaténer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nombre_a_trouver=strcat(touche1,touche2);
    Problème, le strcat prend en argument des chaines de caractères et non des caractères. Mais moi je ne peux pas les déclarer en chaine de caractère car le clavier renvoie un caractère et c'est tout.

    Comment faire?

    Merci

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    touche1 et touche2 sont des caractères, pas des chaines de caractères...

    strcat s'utilise comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    char message[64] = "";
    char debut[] = "Bonjour, ";
    char fin[] = "monsieur";
     
    printf("message contient : '%s'\n", message);
    strcat(message, debut);
    printf("message contient : '%s'\n", message);
    strcat(message, fin);
    printf("message contient : '%s'\n", message);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    message contient : ''
    message contient : 'Bonjour, '
    message contient : 'Bonjour, monsieur'

  3. #3
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 26
    Par défaut
    Merci,

    Si je ne peux pas utiliser de caractères, comment je fais pour ajouter un caractère à ma chaîne?

  4. #4
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    Merci,

    Si je ne peux pas utiliser de caractères, comment je fais pour ajouter un caractère à ma chaîne?

    Avec une methode barbare ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    char touche1;
    char touche2;
    char nombre_a_trouver[3];
     
    char chaineTouche1[2];
        chaineTouche1[0] = touche1;
        chaineTouche1[1] = '\0';
     
    char chaineTouche2[2];
        chaineTouche2[0] = touche2;
        chaineTouche2[1] = '\0';
     
    strcat(nombre_a_trouver, chaineTouche1);
    strcat(nombre_a_trouver, chaineTouche2);

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    Attention, il ne faut pas oublier d'initialiser des chaines :
    Citation Envoyé par SofEvans Voir le message
    Avec une methode barbare ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    char touche1;
    char touche2;
    char nombre_a_trouver[3] = "";
     
    char chaineTouche1[2] = "" ;
    chaineTouche1[0] = touche1;
     
    char chaineTouche2[2] = "";
    chaineTouche2[0] = touche2;
     
    strcat(nombre_a_trouver, chaineTouche1);
    strcat(nombre_a_trouver, chaineTouche2);

  6. #6
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 26
    Par défaut
    C'est bon merci à vous 2, la méthode barbare fonctionne bien !

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

Discussions similaires

  1. Problème mémoire, suite de concaténations (strcat)
    Par angioedema dans le forum Langage
    Réponses: 3
    Dernier message: 26/04/2013, 20h05
  2. Problème concaténation excel/vba
    Par rotterdamt dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 28/11/2005, 17h47
  3. Problème concaténation
    Par ericain dans le forum Access
    Réponses: 10
    Dernier message: 22/11/2005, 19h40
  4. Problème Concaténation
    Par Jimmy_S dans le forum C
    Réponses: 7
    Dernier message: 19/10/2005, 15h00
  5. Problème concaténation requête avec ORACLE
    Par kobe dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/08/2005, 11h57

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