сом пространства имен; иначе г

Автор admin Пятница, 8 мая 2009 11:32

сом пространства имен; иначе говоря, std::cout работать не будет. Следующая программа создает трассировочный файл и отправляет в него весь вывод, который в обычных условиях передается в cout. Все, что для этого нужно, — вставить в программу директиву #define TRACE0N и включить заголовочный файл (конечно, с таким же успехом можно просто включить две ключевые строки прямо в файл): //: C03:Trace.h // Создание трассировочного файла #ifndef TRACE_H #define TRACE_H #include #ifdef TRACEON ofstream TRACEFILE (“TRACE.OUT”); Методика отладки 83 #define cout TRACEFILE_ #endif #endif // TRACE_H ///:- Простая тестовая программа для этого файла выглядит так: //: C03:Tracetst.cpp {-bor} #include #inc1ude #indude “. ./require.h” using namespace std: #define TRACEON #include “Trace.h” int mainO { ifstream fC’Tracetst.cpp”); assure(f. “Tracetst.cpp”): cout « f.rdbufO: // Вывод содержимого файла в трассировочный файл } ///:- Поскольку Trace.h заменяет имя cout на уровне исходного текста, все команды вывода в cout в вашей программе теперь направляют инйрормацию в трассировочный файл. В


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