Ответ
В C++ stdout — это стандартный поток вывода, определенный в языке C и доступный через заголовок <cstdio>. Это глобальный объект типа FILE*, который по умолчанию связан с консолью (терминалом).
Основные способы работы с stdout в C++:
-
Использование C-стиля (наследие):
#include <cstdio> int main() { printf("Hello via printfn"); // Неявный вывод в stdout fprintf(stdout, "Explicit to stdoutn"); // Явное указание return 0; } -
Использование C++-потоков (предпочтительно): В C++ основным интерфейсом для стандартного вывода является объект
std::cout(объявленный в<iostream>), который направляет данные в тот же самый потокstdout.#include <iostream> int main() { std::cout << "Hello via std::cout" << std::endl; return 0; }
Ключевые особенности stdout:
- Буферизация: По умолчанию построчно буферизирован. Вызов
fflush(stdout)или использованиеstd::endlсбрасывает буфер. - Перенаправление: Поток можно перенаправить на уровне ОС, например, в файл:
./my_program > output.txt. Код программы при этом не меняется. - Связь с другими потоками: Наряду с
stdoutсуществуютstdin(стандартный ввод) иstderr(стандартный вывод ошибок).