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 tableau de char


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Par défaut Problème tableau de char
    Bonjour, j'ai un problème avec le tableau de char:
    Voici mon programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include<iostream>
    using namespace std;
    int main ()
    {
    const int MAX=5;
    char tab[MAX]={'a','b','c','d','e'};
    cout << tab << endl;
    return 0;
    }
    J'ai mis le MAX à 5, car c'est le nombre de caractère dans le tableau. Mais à l'exécution, il m'affiche:

    abcde#=

    alors que si je met le MAX à 6, il m'affiche:

    abcde

    Je voudrai savoir, pourquoi ça marche avec 6 et pas avec 5?


    Merci d'avance

  2. #2
    Membre expérimenté Avatar de Kujara
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 262
    Par défaut
    Toute chaine de character crée en tant que char[] ou char * doit etre terminé par un charactere zero. Sinon on ne sais pas où la chaine se termine, quand on la lit.

    Donc, toujours penser au charactre supplementaire.

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Par défaut
    ok, merci.

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    C'est parce que operator<<(std::ostream&, const char*) est défini comme parcourant la séquence de char jusqu'à atteindre le caractère nul.

Discussions similaires

  1. problème dllImport avec tableau de char[] en paramètre E/S
    Par moulefrite dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/12/2008, 10h07
  2. problème affectation d'un tableau de char
    Par midotek dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 07/12/2008, 22h50
  3. Problème tableau de char
    Par desde dans le forum C#
    Réponses: 2
    Dernier message: 30/11/2007, 23h23
  4. Réponses: 21
    Dernier message: 21/11/2005, 09h52
  5. Réponses: 4
    Dernier message: 10/10/2003, 18h04

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