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 :

declaration de wcin


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 106
    Par défaut declaration de wcin
    bonjour !
    Je debute avec le C++ je suis entrain de lire le cour qui se trouve dans les tutoriel de C++ qui s'appel : Mega Cour du C & C++ .
    Arriver au chapitre 16 " Les locales " au niveau du : 16.2.2.1. La facette ctype , l'auteur donne un exemple :
    " Exemple 16-2. Conversion d'une wstring en string "
    j ai tester cet exemple qui ne voulait pas compiler avec le compilateur code::block 8.02 qui affiche le message :
    " error : wcin undeclared (first use in this function) "
    J ai essayer de comprendre comment on fait la declaration de : wcin, wcout .... dans ce cour mais je n ai pas reussi, j ai essayer plusieur maniere de declaration mias rien le premier code que j ai essayer c est : std::wcin>>S; mais j ai reçue le message : " wcin is not a member of std ".
    Quelqu un SVP pour m'aider .
    Merci à bientot !

  2. #2
    Membre très actif Avatar de subzero01
    Inscrit en
    Décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2007
    Messages : 281
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using namespace std; ??

  3. #3
    Membre chevronné
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include <iostream>

    Et effectivement, ça s'utilise comme ça :

    Mais si tu écris ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    using namespace std; //en écrivant ça, tu rends l'écriture de "std::" facultative
    Tu pourras l'utiliser comme ceci :
    Mais attention, on n'écrit jamais de "using namespace" dans un header ! Même si ça compile, c'est mal.
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 106
    Par défaut
    Merci a tous !
    voici l exemple tel qu il a été donner par l auteur :
    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
     
    #include <iostream>
    #include <string>
    #include <locale>
     
    using namespace std;
     
    int main(void)
    {
        // Fixe la locale globale aux préférences de l'utilisateur :
        locale::global(locale(""));
        // Lit une chaîne de caractères larges :
        wstring S;
        wcin >> S;
        // Récupère la facette ctype<wchar_t> de la locale courante :
        const ctype<wchar_t> &f =
            use_facet<ctype<wchar_t> >(locale());
        // Construit un tampon pour recevoir le résultat de la conversion :
        size_t l = S.length() + 1;
        char *tampon = new char[l];
        // Effectue la conversion :
        f.narrow(S.c_str(), S.c_str() + l, 'E', tampon);
        // Affiche le résultat :
        cout << tampon << endl;
    	delete[] tampon;
        return 0;
    }
    On voie bien qu il a inclue le fichier <iostream> et aussi il a encoder : using namespace; pour utiliser l espace de nomage std
    mais malgre ça le compilateur ne reconnais pas wcin .
    est il possible que le fichier inclu est incomplé ?

  5. #5
    Membre chevronné
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Par défaut
    Ah oui, là c'est bizarre. C'est EXACTEMENT ce fichier que tu essaies de compiler ?

    Si oui, je suppose que ton IDE est mal configuré, on va essayer de voir ça…

    Tu es sous quel OS ?
    Quel compilateur utilises-tu ?
    Dans Code::Blocks, tu peux savoir ça en allant dans :
    Settings > Compiler and debugger, dans Global compiler settings, onglet Toolchain executables, sous-onglet Program Files, champs C++ compiler et linker for static/dynamic libs.
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  6. #6
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour,
    Ton code compile sans problème chez moi avec Visual Express.
    Pour, Code::block/gcc, il m'a fallu définir l'option _GLIBCXX_USE_WCHAR_T. Par contre, j'arrive pas à linker (dois pas avoir une verstion wXXX des libs).

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 106
    Par défaut
    Citation Envoyé par Florian Goo Voir le message
    Ah oui, là c'est bizarre. C'est EXACTEMENT ce fichier que tu essaies de compiler ?

    Si oui, je suppose que ton IDE est mal configuré, on va essayer de voir ça…

    Tu es sous quel OS ?
    Quel compilateur utilises-tu ?
    Dans Code::Blocks, tu peux savoir ça en allant dans :
    Settings > Compiler and debugger, dans Global compiler settings, onglet Toolchain executables, sous-onglet Program Files, champs C++ compiler et linker for static/dynamic libs.
    Salut !
    C++ compiler : mingw32-g++.exe
    linker dynamic lib : mingw32-g++.exe
    linker static lib : ar.exe
    Merci ! à bientot !

Discussions similaires

  1. [Traduction] probleme de declaration
    Par Mercilius dans le forum Langage
    Réponses: 3
    Dernier message: 03/04/2003, 16h16
  2. Declaration d objets en tableau
    Par Spin dans le forum Composants VCL
    Réponses: 6
    Dernier message: 16/03/2003, 22h18
  3. [Dev c++ 4] implicite declaration of function "int kbhi
    Par Torpedox dans le forum Dev-C++
    Réponses: 5
    Dernier message: 01/01/2003, 13h37
  4. Declaration Type ds une procedure
    Par Qwazerty dans le forum Langage
    Réponses: 6
    Dernier message: 28/08/2002, 09h09
  5. Declarer une dll Delphi ?
    Par DelphiCool dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/07/2002, 10h07

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