Code hexadécimal sous vista (langage C)

hans88 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -  
hans88 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je suis débutant dans la programmation C...
actuelement, je travaille sur un projet de classe qui m'a conduit à la découverte de l'utilisation du code hexadécimal pour l'affichage des caractères spéciaux de la langue francaise...
mon programme fonctionne sans problème sur mon système (windows XP)
le problème qu'il y a est qu'il ne fonctionne pas convenablement sous Vista, enfin tous les caractères spéciaux que j'ai remplacé par leur code hexadécimal ne s'affichez pas normalement sous vista coe c'est le cas sous xp !!!

y aurait-il pas un moyen pour résoudre ce problème???

merci pour vos réactions...
A voir également:

9 réponses

loveparade Messages postés 506 Date d'inscription   Statut Membre Dernière intervention   60
 
Verifies l'encodage (ascii, utf8, iso-x ...)
1
hans88 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   6
 
je ne te comprend pas...
je dois faire cette vérification dans mon IDE ou...??
et comment procéder?
1
hans88 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   6
 
ok fiddy,
mais... comment m'y prendre? je veux dire... comment utiliser ces fonctions? les deux vont ensemble ou...??
1
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Voici un exemple :
#include <stdio.h>
#include <windows.h>

int main (void) {
      char src[] = "ééé";
      char dst[4];

      CharToOem (src,dst);
      puts(dst);

      return 0;	
}
0
hans88 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   6
 
Merci fiddy pour ton aide.
Je viens de le testé sur XP et ça marche à merveille. J'espère que ça sera le cas sous Vista...
Je vais l'essayer sur le Vista d'un ami, comme moi j'en ai pas !
0

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

Posez votre question
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Salut.
L'encodage, c'est la façon de lier un code hexadécimal à une lettre particulière.
Ton fichier texte contient en fait des nombres, et l'affichage des caractères dépend de l'encodage que tu lui applique. Pour répondre plus précisemnt à ta question : ça dépend où tu veux que tes caractères s'affichent correctement ? Par exemple (complètement faux, mais c'est pour illustrer) un "é" dans l'IDE donnera un "à" dans la console.
-1
hans88 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   6
 
oui... maintenant comment faire cette vérification dans mon IDE?
je précise que j'utilise Code::Blocks
-1
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Settings -> Editor... -> general settings (premier onglet) -> Default encoding etc.
-1
hans88 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   6
 
je viens de vérifier l'encodage, c'est marqué:

WINDOWS-1252

Qu'est ce que je fais maintenant?
-1
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,

Si ta sortie est la console, tu peux utiliser les fonctions CharToOemA() et CharToOemBuffA() pour réaliser la conversion.

Cdlt
-1