cs_skatix
Messages postés5Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention10 juillet 2008
-
10 juil. 2008 à 01:39
cs_skatix
Messages postés5Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention10 juillet 2008
-
10 juil. 2008 à 08:29
Bonjour à tous.
Je viens vous voir ajourd'hui car je travail sur un projet que j'ai transféré depuis Dev-C++ vers VS C++ 2005.
Le changement de compilateur s'est bien passé mais je rencontre maintenant une erreur bizarre.
Dans mon programme je lis un fichier caractère par caractère (bit par bit plutot).
Le fopen se fait correctement (en mode "rb"), la lecture aussi mais je rencontre un phénomène étrange: le premier bit de chaque fichier texte que je tente d'ouvrir (ceux-ci étant encodés en 8bits) a la valeur '-52'.
Ouais, bizarre un caractère avec une valeur négative me direz-vous... Pourtant le "cout << char( c );" est formel, c'est bien '-52' la valeur du caractère.
Même un fichier vide me renvoit ce caractère négatif.
J'ai ouvert les fichiers textes avec un éditeur hexadécimal mais celui-ci ne détecte aucun caractère bizarre.
Merci de m'éclairer sur cette bizarrerie VS C++...
cs_skatix
Messages postés5Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention10 juillet 2008 10 juil. 2008 à 08:29
Oups désolé, je ne parlais pas de bit mais bien de byte (et donc d'octet)... Petite confusion de ma part, il était tard. ^^
Et en effet tu a raison le problème venait bien d'une variable non initialisée. Une coquine bien cachée mais surtout qui ne créer aucun bug en compilant avec Dev-C++.
C'est quand même étrange cette différence entre Dev-C++ et VS 2005...
En tout cas merci de m'avoir orienté vers la solution d'initialisation de variable.