У меня есть большая кодовая база, которая использует std :: cout для генерации своего вывода, и он использует std :: endl повсеместно для генерации новых строк. Эта программа, похоже, генерирует только перевод строки для endl, что само по себе не является большой проблемой, но по какой-то причине оказалось не тем, чего я ожидал.
Итак, для проверки реальности я создал простую программу для закачки endl-ов в cout, скомпилировал ее с тем же компилятором и проверил вывод этой информации. Эта программа испускает и CR, и LF для endl.
Не похоже, что большая программа играет в какие-либо игры с cout, чтобы изменить способ работы endl, по крайней мере, я не могу это распознать, поэтому странно, что она должна вести себя иначе, чем маленькая программа. Кажется, что большая программа должна что-то делать, чтобы изменить значения по умолчанию. Что мне здесь не хватает?
Обе программы были скомпилированы с использованием MinGW gcc 4.5.2 в 32-битных окнах.