Je fais du C et je parse un fichier texte.
Je détermine la taille d'un fichier avec un classique
fseek(src, 0, SEEK_END); buffer_size = ftell(src) + 1; // +1: terminal 0. ftell returns -1 if it failedOk
Ensuite je crée le buffer, je mets son dernier octet à 0, et je fais un fread pour lire le fichier. Ok.
Puis je m'étonne d'avoir du garbage à la fin du buffer. Edition du fichier à l'éditeur hexa, tout est ok. C'est un bête fichier texte créé avec Notepad... Donc les fins de lignes sont des CR/LF
Puis j'ai compris... MinGW transpose tout seul les CR/LF en LF. Donc mon buffer est trop grand. Donc il y a du garbage à la fin. Tout ça parce que MinGW se permet de faire des conversions dans mon dos.
Vu que je peux pas déboguer sous Windows, je retour sous Linux. Et là, ça marchait au poil, avec le même fichier. Et ça merdait sous Windows.
Purée, 1h30 perdue à réfléchir à cette mayrde






