Windows, Linux et retour chariot \n (ASCII 13) - C++ - Programmation
Marsh Posté le 28-11-2004 à 20:15:16
if (ch == 10) aussi non ?
Marsh Posté le 29-11-2004 à 14:06:32
Slide a écrit : if (ch == 10) aussi non ? |
Non. C'est pas parce que ça marche sur certains système unix, que ça fonctionnera bien sur toutes les machines (je crois d'ailleurs que MacOS à une époque n'utilisait que le LF plutôt que le CR ou le CRLF).
Marsh Posté le 24-11-2004 à 20:06:05
Hola todos,
J ai un code C++ qui tourne parfaitement sous linux (Red Hat 9.0). Un bout de ce programme lit un fichier texte. pour lire ce fichier texte, je lis chaque caractere les uns apres les autres et je fais des tests sur les caracteres afin de savoir si j ai une virgule, caractere ASCII 44 (pour separer des champs) ou un retour chariot, caractere ASCII 13 (nouvelle ligne) pour savoir si j entame une nouvelle ligne de mon fichier.
Quand je lance mon code sous Windows XP, il parvient a trouver les virgules avec le caractere 44, mais il ne trouve pas les retours chariots, enfin, si je lui demande d ecrire le caractere a l ecran, il me fait bien un retour chariot, mais il n est pas capable de l identifier avec le caractere ASCII 13.
J ai essaye differentes methodes pour la comparaison:
*if (ch == 13)
*if (ch == "\n" )
*char test[]="\n"
if (ch == test)
*char test[]="\n"
if (strcmp(ch,test)==0)
Rien ne marche
Quelqu un aurait il une idee pour solutionner ce probleme ?
C est tres urgent, je dois rendre le code aujourd hui.
Gracias