Есть код, который находит позиции всех вхождений содержимого find_it.txt в файле find_here.txt. Всё работает, однако, он игнорирует все символы после переноса строки.
Минимальный код для воспроизведения ошибки.
ifstream find_here("find_here.txt");
ifstream find_it("find_it.txt");
const int buffer_size = 1e+5;
while(!find_here.eof()) {
char temp_segment[buffer_size];
find_here.get(&temp_segment[0], buffer_size);
}
find_here.txt
TEST
V CHASCHAH YUGA ZHIL BI CZITRUZ?
YEAH BABE, BUT FALSHIVIY EXEMPLYAR
find_it.txt
V CHASCHAH YUGA ZHIL BI CZITRUZ?
YEAH BABE, BUT FALSHIVIY EXEMPLYAR
В find_here.txt ни считывается ничего далее первой строки - TEST.
А так же код уходит в бесконечный цикл, т.к. файл ещё не считан полностью.
Но файл не может считаться полностью, он перестаёт считывать перенос строки и далее.
Как сделать так, чтобы переносы считывались так же, как и простые символы?
get- читает до конца строки. Хотите читать все подряд - используйтеread, а неget. Ну и как обычно: цикл с предусловием!eof- практически всегда ошибка. – AnT stands with Russia Jan 02 '19 at 10:57