J'ai une image jpeg dans un tampon char [] en mémoire, tout ce que j'ai à faire est de l'écrire sur le disque exactement tel quel. En ce moment je fais cePourquoi la méthode C++ ofstream write() modifie-t-elle mes données brutes?
ofstream ofs;
ofs.open(filename);
ofs.write(buffer, bufferLen);
ofs.close();
mais l'image ne vient pas juste, il semble brouillé avec des rayures noires et blanches au hasard partout. Après avoir comparé l'image avec l'original dans une visionneuse hexadécimale, j'ai découvert que l'ofstream modifie les données quand il pense que j'écris un caractère de nouvelle ligne. Chaque fois que 0x0A apparaît dans l'original, l'ofstream écrit comme deux octets: 0x0D0A. Je dois supposer que l'ofstream a l'intention de convertir de LF seulement en CRLF, y a-t-il un moyen standard de l'empêcher de le faire?
Merci, je savais que ça devait être quelque chose de simple –