Я пытаюсь создать текстовый файл, который имеет 50 строк, каждая строка состоит из 50 пробелов. Тем не менее, каждые несколько строк добавляются 9 или 10 дополнительных байтов в файл.Дополнительные байты при генерации текстового файла
#include <iostream>
#include <fstream>
using namespace std;
void InitializeCanvas() {
ofstream file("paint.txt");
int b = 0;
for (int i = 0; i < 50; i++) {
for (int j = 0; j < 50; j++) {
file << " ";
}
file << "\r\n";
//these lines show where the pointer is and where it should be
b += 52;
int pointer = file.tellp();
int difference = pointer - b;
cout << pointer << " (" << (difference) << ")" << endl;
}
file.close();
}
int main() {
InitializeCanvas();
return 0;
}
В строке 9 добавлено 9 дополнительных байтов. На строках 19 имеется 19 дополнительных байтов. То же самое для 29, 39 и 49. Никакие дополнительные байты не добавляются за исключением тех строк. Что может быть причиной этого? Этот код был скомпилирован с использованием CodeBlocks 13.12.
экстренным, что вы по сравнению с как ожидаемое значение? Ожидаете ли вы один байт на пробел и 50 байт на строку? – NitrogenReaction
50 байтов для пробелов плюс два байта для «\ r \ n» в конце – rhynodegreat
Сколько лишних байтов добавляется к строкам? Сначала вы сказали 9 или 10, но тогда вы сказали, что строка 19 содержит 19 дополнительных байтов. Что в этих дополнительных байтах - они случайны, являются ли они пробелами? – Barmar