Rechercher : dans
Par :

Code hexadécimal sous vista (langage C)

Dernière réponse le 11 sep 2009 à 11:39:43 hans88, le 13 jun 2009 à 16:17:59 
 Signaler ce message aux modérateurs

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...

Configuration: Windows XP
Opera 9.80

Meilleures réponses pour « code hexadécimal sous vista (langage C) » dans :
Langage C - Les chaînes de caractères Voir Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Caractéristiques du langage C Voir Le fichier source Le fichier source d'un programme écrit en langage C est un simple fichier texte dont l'extension est par convention .c. Note d'un visiteur (J.Grondin) : L'extension est en minuscules. Le .C (majuscule) est interprété par...
Interfacer du code assembleur et du C VoirInterfacer du code assembleur et du C Introduction Appeler du code assembleur écrit dans un fichier source externe Avec Nasm (x86 uniquement) Compilation/Exécution sous Linux Avec Gcc (multiplateforme) Introduction Si, à tout hasard,...
Compiler un programme en C avec Dev C++ sous Vista VoirIl est très probable que vous ayez des problèmes lors de la compilation d'une source C sous Vista avec Dev C++. Solution rapide de secours: le compilateur g++ Voici une astuce pour Dev-Cpp : Aller dans "Outils" -> "Options du compilateur" puis...
Langage C - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage C sont typées, c'est-à-dire que les données contenues dans...
Introduction au langage C VoirPetite histoire du C Le langage C a été mis au point par D.Ritchie et B.W.Kernighan au début des années 70. Leur but était de permettre de développer un langage qui permettrait d'obtenir un système d'exploitation de type UNIX portable. D.Ritchie...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...

1

loveparade, le 16 jun 2009 à 09:09:17

Verifies l'encodage (ascii, utf8, iso-x ...) loveparade at your service

Répondre à loveparade

2

hans88, le 31 aoû 2009 à 11:35:01

Je ne te comprend pas...
je dois faire cette vérification dans mon IDE ou...??
et comment procéder?

Répondre à hans88

3

Char Snipeur, le 31 aoû 2009 à 12:51:22

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. Salutation ! (il faut bien que vous compreniez que j'ai TOUJOURS raison)
Char Snipeur

Répondre à Char Snipeur

4

hans88, le 31 aoû 2009 à 12:56:07

Oui... maintenant comment faire cette vérification dans mon IDE?
je précise que j'utilise Code::Blocks

Répondre à hans88

5

Char Snipeur, le 31 aoû 2009 à 14:02:28

Settings -> Editor... -> general settings (premier onglet) -> Default encoding etc. Salutation ! (il faut bien que vous compreniez que j'ai TOUJOURS raison)
Char Snipeur

Répondre à Char Snipeur

6

hans88, le 31 aoû 2009 à 16:32:42

Je viens de vérifier l'encodage, c'est marqué:

WINDOWS-1252

Qu'est ce que je fais maintenant?

Répondre à hans88

7

fiddy, le 31 aoû 2009 à 20:21:36

Salut,

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

Cdlt
Google is your friend

Répondre à fiddy

8

hans88, le 1 sep 2009 à 11:28:09

Ok fiddy,
mais... comment m'y prendre? je veux dire... comment utiliser ces fonctions? les deux vont ensemble ou...??

Répondre à hans88

9

fiddy, le 1 sep 2009 à 22:54:49

Voici un exemple :

#include <stdio.h>
#include <windows.h>

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

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

      return 0;	
}

Google is your friend

Répondre à fiddy

10

 hans88, le 11 sep 2009 à 11:39:43

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 !

Répondre à hans88