Code hexadécimal sous vista (langage C)

Fermé
hans88 Messages postés 89 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 6 mai 2013 - 13 juin 2009 à 16:17
hans88 Messages postés 89 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 6 mai 2013 - 11 sept. 2009 à 11:39
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 mercredi 20 février 2008 Statut Membre Dernière intervention 14 mai 2011 60
16 juin 2009 à 09:09
Verifies l'encodage (ascii, utf8, iso-x ...)
1
hans88 Messages postés 89 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 6 mai 2013 5
31 août 2009 à 11:35
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 jeudi 14 août 2008 Statut Membre Dernière intervention 6 mai 2013 5
1 sept. 2009 à 11:28
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
1 sept. 2009 à 22:54
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 jeudi 14 août 2008 Statut Membre Dernière intervention 6 mai 2013 5
11 sept. 2009 à 11:39
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 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
31 août 2009 à 12:51
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 jeudi 14 août 2008 Statut Membre Dernière intervention 6 mai 2013 5
31 août 2009 à 12:56
oui... maintenant comment faire cette vérification dans mon IDE?
je précise que j'utilise Code::Blocks
-1
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
31 août 2009 à 14:02
Settings -> Editor... -> general settings (premier onglet) -> Default encoding etc.
-1
hans88 Messages postés 89 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 6 mai 2013 5
31 août 2009 à 16:32
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
31 août 2009 à 20:21
Salut,

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

Cdlt
-1