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 et caractères accentués


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Par défaut cin et caractères accentués
    Bonjour,
    Je suis étudiant et je fais du pascal en classe. Le problème c’est que je veux aussi faire du C++ mais je n’ai pas forcément les cours nécessaires.
    Bien sûr je suis passais sur le forum C++, qui m’aide d’ailleurs énormément mais il y’a des programmes que je trouve comme ça et je ne comprends pas certaines choses.
    Voici un truck, je comprends pas ce que c’est supposé faire :
    cin.ignore(numeric_limits<int>::max());
    Je crois savoir que ça doit vider le buffer de saisi, le problème c’est que cette commende attend l’appui d’une touche et peut importe la touche sur laquelle j’appui rien ne se passe (sauf si je fais F6 puis ENTRER).

    D’autre part quand je fais par exemple cout<< ‘énergie’; ça me donne ‘Únergie’.
    Aucun caractère accentué n’est rendu correctement…
    J’utilise DevC++ version 4.9.9.2, peut-être le bug vient du compilateur ? … En tout cas en pascal, je n’ais jamais une telle aberration…
    Mercie pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    non, ca ne vient pas du compilo, mais du fait que tu compile sur une page de code différente de celle de ta fenetre DOS

  3. #3
    Membre expérimenté Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Par défaut Mercie mais...
    Bonjour,
    Mercie pour ta réponse Toxcct mais j’avoue que je n’ai pas compris.
    J’utilise DevC++ donc…
    Est-ce que tu veux dire que je dois compiler à partir de d’une fenêtre DOS ?
    Si c’est le cas, Je ne sais pas faire ça. Avec freePascal c’est facile, il suffit de faire ‘fpc’, mais avec DevC++… ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    C'est l'encodage des caractères de ton fichier-source qu'il faudrait changer, rien à voir avec la compilation en ligne de commande. Sinon, tu peux toujours traduire...

  5. #5
    Membre expérimenté Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Par défaut
    Bonsoir,
    Où puis-je changer l'encodage des caractères de mon fichier-source? Je veux dire, je n'ais jamais eu à faire ça avec Free Pascal.
    Je suis vrément débutant , alors si vous pouvez être préssis, encore mercie.

  6. #6
    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, sous Windows, un éditeur texte usuel édite les fichiers en ANSI alors que la console fonctionne en OEM.
    Or sous le Windows d'Europe de l'Ouest, ANSI et OEM sont incompatibles.

    Tu as donc plusieurs solutions :
    - t'en contrefoutre
    - utiliser un OS où la console utilise le même encodage que la locale
    - utiliser un autre terminal
    - éditer ton fichier en OEM
    - traduire automatiquement entre OEM et ANSI pour la communication avec la console
    - utiliser une surcouche qui fait automatiquement ces conversions (cygwin le fait semble-t-il, je ne me souviens pas néanmoins si la surcouche est dans le compilateur ou dans la console)

    Tu peux aussi arrêter d'utiliser ANSI et passer à l'Unicode.
    Cela ne résoudra pas ton problème, mais si tu dois faire des conversions ANSI <-> OEM dans ton code autant remplacer ANSI par Unicode, bien plus flexible.

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

Discussions similaires

  1. Caractères accentués avec <html:link>
    Par papysam dans le forum Struts 1
    Réponses: 5
    Dernier message: 25/05/2007, 15h18
  2. Chaines avec caractères accentués dans interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2004, 17h12
  3. Chaînes avec des caractères accentués dans Interbase
    Par Invité dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/03/2004, 22h39
  4. [PostgreSQL] Les caractères accentués ?
    Par yacomor dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/02/2003, 16h30
  5. insérer des caractères accentués INFORMIX/JDBC
    Par donde dans le forum Informix
    Réponses: 2
    Dernier message: 19/11/2002, 20h02

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