Printf en conservant les accents ???

Elffin Messages postés 13 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 4 octobre 2005 - 14 mars 2003 à 18:40
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 - 15 mars 2003 à 20:30
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 mars 2003 à 23:51
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...
0
littlefl Messages postés 21 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 2 juillet 2003
15 mars 2003 à 09:18
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
0
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
15 mars 2003 à 10:54
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.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 mars 2003 à 12:02
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
littlefl Messages postés 21 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 2 juillet 2003
15 mars 2003 à 12:26
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
0
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
15 mars 2003 à 20:30
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...
0
Rejoignez-nous