I am trying to write binary file using std::ofstream::write method. I found out, that some characters are not written as they are, for example:
std::ofstream in("testout");
int i =10;
in.write((const char *)(&i), sizeof(i));
in.close();
return 0;
will write the following into a binary file: 0d 0a 00 00 00
Why is there additional 0d byte appearing?
You´ll have to specify std::ofstream::binary when opening.  
Else, on Windows in textfile mode, \n (0x0a) in a program will be  converted to/from \r\n (0x0d 0x0a) when writing/reading the file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With