fprintf et retour à la ligne - C - Programmation
Marsh Posté le 03-10-2009 à 09:11:24
pseudo0908 a écrit : |
Ben justement, si t'ouvres le fichier en "wb", il n'y aura pas transformation de "\n" en "\r\n" (putain qu'est-ce qu'ils peuvent être chiant sous zindow avec cette façon de gérer les fichiers textes !!!) et donc t'auras que ce que toi tu y écris...
Marsh Posté le 03-10-2009 à 18:25:33
Il me semble qu'en C on met simplement fprintf(f, "e\n" );
Le système d'exploitation se charge de traduire le \n en \r\n pour Windows et \n pour Linux.
Par contre je crois que ça fonctionne moins bien pour le fgets (lecture sous Windows de fichiers textes Linux et inversement).
Marsh Posté le 02-10-2009 à 22:52:21
Bonjour,
J'ai pas trop l'habitude d'utiliser les fonction c standard pour les i/o (en général j'utilise l'api Win32), mais la je dois les utiliser et je viens de tomber sur un truc qui me semble bizarre :
FILE* f = fopen("C:\\test.txt", "w" );
fprintf(f, "e\r\nz" );
return 0;
Ca me génère un fichier qui contient e\r\r\nz (\n a été remplacé par \r\n, du coup je me retrouve avec deux \r).
C'est normal ca?
Je précise que c'est sous windows avec VC++ 2005
S'il vous plait me dites pas d'ouvrir f en mode binaire car ca me dérange pas que \n soit transformé en \r\n, mais pas si ya déja un \r devant le \n
Message édité par pseudo0908 le 02-10-2009 à 22:54:13