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 avec la concaténation de chaines de caractères.


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 54
    Points : 67
    Points
    67
    Par défaut Problème avec la concaténation de chaines de caractères.
    Bonjour.
    Ce programme ajoute la chaine de caractere 2008 à la fin du Message2 ce qui donne 7 Juin 2008 il est xx/xx/xx 2008 alors qu'il devrait afficher 7 Juin 2008 il est xx/xx/xx. Je ne vois pas ou se trouve l'erreur.
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    #include <stdio.h>
    #include <string.h>
     
     
    char Message2[50]="7 ",Tableau[12][10];
    char annee[6]=" 2008";
    char heure[16]=" il est xx/xx/xx";
    int a;
    void tab(void);
     
    int main()
    {
        tab();
        strcat(Message2,Tableau[5]);
        strcat(Message2,annee);
        strcat(Message2,heure);
        printf("%s", Message2);
        return 0;
    }
     
    void tab(void)
    {
        strcpy(Tableau[0],"Janvier");
        strcpy(Tableau[1],"Fevrier");
        strcpy(Tableau[2],"Mars");
        strcpy(Tableau[3],"Avril");
        strcpy(Tableau[4],"Mai");
        strcpy(Tableau[5],"Juin");
        strcpy(Tableau[6],"Juillet");
        strcpy(Tableau[7],"Aout");
        strcpy(Tableau[8],"Septembre");
        strcpy(Tableau[9],"Octobre");
        strcpy(Tableau[10],"Novembre");
        strcpy(Tableau[11],"Decembre");
    }

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    déjà heure ET annee sont trop petits (tu as 2 espaces devant et il te faut la place pour la fin de chaîne).

    Ensuite pourquoi faire simple quand on peut faire compliqué



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        sprintf(Message2, "7 %s%s%s", Tableau[5], annee, heure);

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 54
    Points : 67
    Points
    67
    Par défaut
    Merci pour la réponse. La raison pour laquelle je n'utilise pas la fonction sprintf est qu'elle fait parti du fichier stdio.h que je ne peut pas utiliser car je travaille sur microcontôleur PIC. Le programme que j'ai écrit était une transposition pour qu'il fonctionne sur PC. Désolé pour le manque d'informations.

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

Discussions similaires

  1. Problème avec un tableau de chaines de caractères
    Par greg_h19 dans le forum Débuter
    Réponses: 1
    Dernier message: 22/12/2008, 15h31
  2. Réponses: 2
    Dernier message: 08/03/2008, 14h24
  3. Réponses: 1
    Dernier message: 10/01/2008, 10h10
  4. Comment concaténer une chaine de caractères avec un espace ?
    Par blanchonvincent dans le forum MATLAB
    Réponses: 6
    Dernier message: 07/04/2007, 21h53
  5. Réponses: 1
    Dernier message: 25/04/2006, 16h06

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