м функции cout.setf(ios::showp

Автор admin Четверг, 14 мая 2009 11:32

м функции cout.setf(ios::showpos). Чтобы отказаться от дальнейшего вывода знака плюс, вызовите функцию cout.unsetf(ios::showpos). Флаг unitbuf устанавливает режим немедленного вывода, при котором каждая операция записи немедленно актуализируется в своем выходном потоке. Он особенно удобен при трассировке ошибок, чтобы при аварийном завершении программы данные все равно были записаны в файл журнала. Следующая программа демонстрирует немедленный вывод: //: С04:Unitbuf.срр #i ncl ude // Для abortO #include using namespace std: int mainO { ofstream outClog.txt”): out.setf(ios::unitbuf): out « “one\n”: out « “two\n”; abort(): } ///:- Режим немедленного вывода должен быть включен до первой операции записи в поток. Когда мы закомментировали вызов setf(), один из компиляторов записал в файл log.txt только букву «о». Установка флага предотвратила потерю данных. Немедленный вывод включен по умолчанию для стандартного потока вывода ошибок cerr. С другой стороны, отказ от промежуточной буферизации снижает эффективность вывода, поэтому при интенсивном использовании потока вывода не стоит включат


Комментарии закрыты.