Программирование на C и C++

Онлайн справочник программиста на C и C++

Потоки

Системы ввода/вывода С и С++ имеют одну общую особенность: они обе оперируют потоками. То, что потоки в С и С++ подобны между собой, означает, что все, что известно о потоках в языке С, полностью применимо и в С++.

Предопределенные потоки С++

Как и в языке С, в С++ существует несколько предопределенных потоков, открывающихся автома­тически вместе с началом выполнения программы. Ими служат cin, cout, cerr и clog. Как извест­но, cin является потоком, ассоциированным со стандартным вводом, а cout представляет собой поток, ассоциированный со стандартным выводом. Потоки cerr и clog используются для вывода сообщений об ошибках. Разница между cerr и clog заключается в том, что, хотя они оба привяза­ны к стандартному выводу, cerr не буферизирован, поэтому все посланные в него данные выво­дятся немедленно. В противоположность этому clog буферизирован, так что данные выводятся только тогда, когда буфер оказывается полным.

По умолчанию стандартные потоки С++ привязаны к консоли, но программа может перена­править их на другие устройства или файлы. Они также могут быть перенаправлены операцион­ной системой.