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

SL & STL C++ Discussion :

cin.getline et char * vide


Sujet :

SL & STL C++

  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Par défaut cin.getline et char * vide
    Bonjour ,

    Le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
     char * bufferE = (char *) malloc(BUFFERLEN);
    do 
    cin.getline(bufferE,_BUFFERLEN_,'\n');
    cout << bufferE;
     while ()

    Problème :

    premiere entrée : AAAAA
    deuxieme entrée: BB

    Affichage :
    AAAA
    BBAA

    Comment faire pour mettre null ou vide (" ") dans bufferE.

    Merci

  2. #2
    Membre émérite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par défaut
    Pourquoi ne pas utiliser std::string ?

    Nas'

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Par défaut char * au lieu de string
    Parce que j'utilise une fonction dans le reste de mon code que l'on ne vois pas qui prend en paramètre un char * seulement , et c'est une fonction de window donc, pas le choix.

    Mais si c'était possible en effet se serait plus simple.

    Donc une autre solution?

  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
    qui prend en paramètre un char * seulement
    Ce serait pas un const char* plutôt ?

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 258
    Par défaut
    Citation Envoyé par sawbo1
    Parce que j'utilise une fonction dans le reste de mon code que l'on ne vois pas qui prend en paramètre un char * seulement , et c'est une fonction de window donc, pas le choix.
    Il suffit de recuperer le char* contenu dans le std::string par la fonction std::string::c_str avant d'appeler ta fonction Windows.

  6. #6
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par sawbo1
    Bonjour ,

    Le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
     char * bufferE = (char *) malloc(BUFFERLEN);
    do 
    cin.getline(bufferE,_BUFFERLEN_,'\n');
    cout << bufferE;
     while ()

    Problème :

    premiere entrée : AAAAA
    deuxieme entrée: BB

    Affichage :
    AAAA
    BBAA

    Comment faire pour mettre null ou vide (" ") dans bufferE.

    Merci
    1/ Ça ne devrait pas et je ne reproduis pas. Tu peux donner du code complet?

    2/ Il faut tester le résultat des IO.

    3/ La suggestion d'utiliser std::string n'est pas mauvaise du tout.

  7. #7
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Par défaut strcpy("");
    A la fin de la boucle

    mettre ceci met null dans le char* et on peu recommencer la boucle avec un buffer vide

    Merci pour les idées.

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

Discussions similaires

  1. cin.getline et cin.ignore
    Par Ziarrow dans le forum C++
    Réponses: 6
    Dernier message: 28/08/2010, 18h46
  2. Problème avec cin.getlin dans un for
    Par Carnat89 dans le forum Débuter
    Réponses: 2
    Dernier message: 02/07/2009, 21h09
  3. istream surcharge de l'opérateur cin pour un char*
    Par highman dans le forum SL & STL
    Réponses: 2
    Dernier message: 15/03/2007, 18h16
  4. Réponses: 1
    Dernier message: 21/08/2006, 19h17
  5. taille disque pour type de donnée char (vide)
    Par aeled dans le forum Oracle
    Réponses: 8
    Dernier message: 16/08/2006, 11h46

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