@ProstoUserName

Можно ли использовать endl вместо «\n» в C++?

Можно ли писать endl вместо "\n"?
cout << "Hi" << endl << "world" << endl;

endl означает конец строки, но я не понял о какой именно идеи речь, о конце строки которая в терминале или в коде?
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1

Оба они служат одной endlи \nтой же цели в C ++ - они вставляют новую строку. Однако ключевое различие между ними состоит в том, что endlкаждый раз при вызове буфера вывода очищается, а \nне происходит.

Все, что должно быть выведено, сначала помещается в очередь в выходной буфер, а затем записывается на устройство (жесткий диск, монитор и т. Д.),
Очищая очередь в процессе.

Ответ написан
Пригласить эксперта
Ответы на вопрос 4
firedragon
@firedragon
Senior .NET developer
https://ru.wikipedia.org/wiki/CP866
https://ru.wikipedia.org/wiki/Windows-1251
https://ru.wikipedia.org/wiki/UTF-8

Желаю веселых выходных

Исправление. Запостил не в то окно.
Поведение зависит от операционной системы и режима открытия файла

Сорри, случайно ответил на вопрос про использование в свиче.

В вашем случае все зависит от операционной системы и режима открытия файла

Opening a file in text mode should cause std::endl to be converted to the appropriate line ending for your platform. Your problem is that newline is appropriate for your platform, but the files you create aren't intended for your platform.

I'm not sure how you plan on overloading or changing endl, and changing its behavior would certainly be surprising for any developers new to your project. I'd recommend switching to win_endl (should be a simple search-and-replace) or maybe switching from a standard ostream to a Boost.Iostreams filtering stream to do the conversion for you.
Ответ написан
Можно ли писать endl вместо "\n"?

Да, можно

но я не понял о какой именно идеи речь, о конце строки которая в терминале или в коде

В терминале, конечно же
Ответ написан
sabone
@sabone
beginner dev.
Если текст нужно вывести раздельно (на нескольких строках) — используйте std::endl. При использовании с std::cout, std::endl вставляет символ новой строки.

endl и \n идентичны, кому как нравится.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы