Я работаю над программой, которая записывает двоичные данные в файл. В Windows результирующий файл по некоторым причинам немного меньше, чем в Linux. Размер в байтах и хэш MD5 различны. Как это может случиться с одним и тем же кодом?
Я уже добавил флаг ifstream::binary
и убедился, что установил noskipws
...
ofstream output("output", ifstream::binary);
output << std::noskipws;
Я запустил Application Verifier на моей программе, и он не генерировал ошибок или предупреждений относительно возможного повреждения памяти.
Существуют ли другие причины, по которым вывод файла может отличаться?