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 :

Pb avec getch()


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 291
    Par défaut Pb avec getch()
    Bonjour,

    je voudrais savoir pourquoi on est obligé de mettre un endl à la fin de chaque phrase afficher lorsqu'on utilise getch()?
    Si je l'enlève, dans ce cas la ou les phrases ne possedant plus endl à la fin, n'apparaissent plus!

    Merci d'éclairer ma lanterne.

  2. #2
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    Bonjour,
    ça n'a rien a voir, getch() permet la saisie de caractère, alors que endl permet de faire un saut de ligne avec l'opérateur << et la sortie standard cout.

    Tu peux préciser ton souci?

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 291
    Par défaut
    quand j'utilise getch(), je suis obligé d'utiliser des endl sinon il les fait figurer sur la page suivante

  4. #4
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    Tu peux donner un morceau de ton code.

    Par endl tu veux dire que tu tapes enter à chaque caractère ou que tu insères un retour à la ligne par programme. Je ne saisis pas bien là.

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 291
    Par défaut
    cout << endl << endl << " Veuillez saisir votre choix. " << endl ;
    c = getch();
    cout << endl << " Votre choix est : " << c << endl;

  6. #6
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    Question bête: Pourquoi tu n'utilises pas cin?

    Rien ne tempêches de ne pas mettre endl.

  7. #7
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 291
    Par défaut
    quand tu utilises getch() tu n'as plus besoin d'utiliser cin

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    La sortie standard est bufferisée. std::endl permet (en plus du saut de ligne) de forcer un flush, càd l'affichage immédiat.

    http://c.developpez.com/faq/cpp/?page=SL#SL_endl

  9. #9
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    si tu ne veux pas faire un retour à la ligne, tu peux utiliser cout.flush() au lieu de cout << endl.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

Discussions similaires

  1. probleme avec getch();
    Par vitia dans le forum C
    Réponses: 16
    Dernier message: 29/10/2007, 00h23
  2. Problème avec getch()
    Par jejeb dans le forum C
    Réponses: 7
    Dernier message: 07/12/2005, 18h46
  3. debutant: pb avec getch
    Par richton95 dans le forum C
    Réponses: 27
    Dernier message: 01/10/2005, 09h22
  4. Le buffer clavier avec cin, et getch()
    Par Info420 dans le forum SL & STL
    Réponses: 1
    Dernier message: 06/12/2004, 12h45
  5. getch() avec gcc
    Par Jorus dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 16/12/2002, 14h47

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