Printf en conservant les accents ???

Signaler
Messages postés
13
Date d'inscription
lundi 6 mai 2002
Statut
Membre
Dernière intervention
4 octobre 2005
-
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
-
Bonjour,

je souhaiterais savoir comment peut-on faire pour afficher du texte à l'écran en concervant les accents ?

printf("écran");

ne m'affiche pas correctement le caractère accentué "é".

Merci d'avance.

6 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Les progs "console", c'etait 20 ans en arriere.
Le prends pas mal mais tu n'a pas l'impression de perdre du temps ? Faut jeter un oeil aux offres d'emplois.
BruNews, ciao...
Messages postés
21
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
2 juillet 2003

BruNews : Suppose un programmeur qui programme pour la passion de programmer, il ne s'intéresse donc pas aux offres d'emploi. Ou imagine un développeur professionnel orienté algorithmie pure, si ce n'est pas à lui de faire l'interface et qu'il souhaite tester ses algos, il va faire du mode console... Ou encore les débutants, il ne vont pas attaquer avec la prog graphique de win32... Pis des utilitaires comme les compilos qu'on utilise tous sont en mode console aussi.

Elffin : Il faut que ton fichier soit au format OEM, de DOS, pour ça, soit tu utilises un éditeur DOS, soit tu utilises un logiciel de convertion comme fconvert livré avec BC++.

@+
littlefl
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
si l'on utilise l'environnement de développement le plus récent de chez Microsoft - le DOT NET Framework- le projet console existe toujours...
De plus, il gère automatiquement les jeux de caractères (ANSI/ASCII) par l'intermédiaire de la cible (target)
Il suffit donc d'écrire :
System.Console.WriteLine("élo");
pour VOIR les accents sur la console.
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Bien entendu, on fait encore quelques progs en modeconsole comme les compilos.
J'ai poste cette remarque justement pour ouvrir ce debat. J'en vois pas mal de publications sur ce site ou des gens perdent un temps fou a se demander comment ils vont mettre des lignes en couleur dans la console et autres trucs du genre. Ca s'adresse a ces cas la et non au mec qui se lance dans ecrituree d'un compilo par exemple.
Celui qui teste des algos, et j'en suis, iront aussi vite(moi je pense + vite) a sortir resultat direct dans un EDIT par exemple, non ???
BruNews, ciao...
Messages postés
21
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
2 juillet 2003

Hum... en fait ça dépend comment on le vois ;). Parce-que sur un EditBox en win32, rien que la création d'une app qvec une fenêtre principale et un edit doit prendre près de 30 lignes si on code raisonnablement espacé et avec un retour à la ligne tous les 80 caractères (j'ai pas vraiment compté mais j'estime ;). Alors que la fonction main() avec un printf ne prend que 5 lignes.
En plus, printf() (ou cout pour les dév C++ puristes) est beaucoup plus flexibel qu'un Edit, ce dernier n'affichant que les LPCSTR tandis que printf sait convertir les données numériques.
Après, chacun fait comme il le souhaite ;).

Mais c'est vrai que de nos jours, à part les compilateurs/interpréteurs et autres préprocesseurs (en gros ce qui est destiné à un public averti qui a plus besoin de performances que de design), il n'y a guère plus de programmes console.

@+
littlefl
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
Nous n'avons pas répondu complètement à ton message je crois

sous les systèmes Windows NT/2000/XP il existe une technique relativement simple :
#include <windows.h>
#include
using namespace std;

int main(){
cout << "ancien code page : " << GetConsoleOutputCP()<< endl;
if (SetConsoleOutputCP(1252))
cout << "code page 1252 accepté\n";
else
cout << "code page 1252 non accepte\n";

wcout << L"à noël ";
cout << "éric" << endl;
return 0;
}

ATTENTION, non supporté par les Win9x
ET basculer la police de la console en Lucida (par Raster)
propriétés/police/Lucida
je ne connais pas le moyen d'affecter la police par programme...