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 :

probleme avec cin et wstring


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 104
    Par défaut probleme avec cin et wstring
    Bonjour, voici le code qui ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    wchar_t a;
    wstring s;
    cin>>a;
    s.push_back(a);
    cin>>a;
    s.push_back(a);
    cin>>a;
    s.push_back(a);
    wcout<<s<<endl;
    ce code ne m'affiche rien

  2. #2
    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
    Salut

    Essaye avec wcin.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 104
    Par défaut
    ok merci beaucoup
    bonsoir

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 104
    Par défaut
    bonjour, ca marche pour wstring mais pas pour wchar_t *
    pourquoi?

  5. #5
    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
    Ca veut dire quoi "ça marche pas" ? Essaye d'être plus précis si tu veux des réponses...

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 104
    Par défaut
    ca marche pour wstring mais pas pour wchar_t *
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    wchar_t * w;
    wcin>>w;
    en executant le programme se bloque et demande si je veux faire debogage

  7. #7
    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
    Tu n'as pas alloué de mémoire pour ta chaîne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    wchar_t w[512];
    wcin >> w;
    C'est là que tu vois que tu as tout interêt à utiliser wstring.

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 104
    Par défaut
    merci beaucoup j'ai fais ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    wchar_t * w;
    w=new(wchar_t);
    wcin>>w;
    A++

  9. #9
    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
    Là tu auras tout juste la place pour stocker le \0 final, c'est-à-dire que ton programme va bugger quoique tu tapes.
    Je pense que tu devrais prendre le temps de comprendre ce que tu codes au lieu d'y aller à tâton.

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 104
    Par défaut
    bon le code ca marche bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    wchar_t * w; 
    w=new(wchar_t); 
    wcin>>w;
    et je ne comprend pas ce que tu veux dire

  11. #11
    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
    Ca fonctionne parce que tu as de la chance. Avec une telle initialisation tu penses avoir de la place pour stocker combien de caractères ?

  12. #12
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par sorari
    bon le code ca marche bien
    pourquoi utiliser un pointeur ? Pourquoi s'embêter avec un new ? (où est le delete ?)
    wstring gère tout de manière fiable, à commencer par la taille.
    http://c.developpez.com/faq/cpp/?page=strings
    Comme te l'a dit Loulou tu n'as pas alloué assez d'espace.
    Rien que de rajouter le delete devrait planter le programme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    wchar_t * w; 
    w=new(wchar_t); 
    wcin>>w; 
    delete w;
    pareil si tu fait un autre new derrière, ou simplement si tu rentres une chaine assez grande (quelques centaines de carcatères).

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

Discussions similaires

  1. probleme avec cin.ignore()
    Par Stany dans le forum SL & STL
    Réponses: 17
    Dernier message: 09/04/2005, 13h57
  2. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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