Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

перенаправление вывода консоли

7.6K
25 февраля 2005 года
gss
14 / / 01.02.2005
есть консольная прога, она должна перенаправить свой собственный вывод куда угодно, например, в файл.
как это можно сделать, подскажите, плиз...
301
25 февраля 2005 года
lord Kelvin
897 / / 08.11.2004
Цитата:
Originally posted by gss
есть консольная прога, она должна перенаправить свой собственный вывод куда угодно, например, в файл.
как это можно сделать, подскажите, плиз...


Запускаешь консольную прогу с параметром > "имя файла" и ... Вуаля. Вывод программы перенаправлен в файл.

7.6K
25 февраля 2005 года
gss
14 / / 01.02.2005
Цитата:
Originally posted by lord Kelvin

Запускаешь консольную прогу с параметром > "имя файла" и ... Вуаля.


хм. возможно, я не совсем точно выразился - прога сама перенаправляет свой вывод в файл.
это возможно?
SetConsoleOutput не работает - уже проверил...

301
25 февраля 2005 года
lord Kelvin
897 / / 08.11.2004
Цитата:
Originally posted by gss

хм. возможно, я не совсем точно выразился - прога сама перенаправляет свой вывод в файл.
это возможно?
SetConsoleOutput не работает - уже проверил...


 
Код:
FILE *out=stdout;
 fprintf(out,"Gyyyyy."); // Вывод на экран
 out=fopen("c:\\file.txt","wb");
 fprintf(out,"Gyyyyy."); // Вывод в файл
 fclose(out);
 out=stdout;
487
26 февраля 2005 года
ddnh_bc
301 / / 16.09.2003
Цитата:
Originally posted by gss

хм. возможно, я не совсем точно выразился - прога сама перенаправляет свой вывод в файл.
это возможно?
SetConsoleOutput не работает - уже проверил...



Вот так:

 
Код:
HANDLE old=GetStdHandle(STD_OUTPUT_HANDLE);
HANDLE hFile=CreateFile("c:\\test.txt",GENERIC_READ|GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
SetStdHandle(STD_OUTPUT_HANDLE, hFile);
printf("Redirected to file...");
SetStdHandle(STD_OUTPUT_HANDLE,old);
CloseHandle(hFile);
printf("Original $CONOUT restored");
7.6K
28 февраля 2005 года
gss
14 / / 01.02.2005
этот метод был проверен на выходных - до того, как я удосужился проверить почту.
по идее все делается правильно, но результат не является ожидаемым.
возможно, перенаправление вывода изнутри вообще невозможно - везде, где я про него читаю, о нем пишется только в контексте другого приложения.
есть еще идеи? у меня они уже кончились.
11K
13 марта 2005 года
drone
1 / / 13.03.2005
Цитата:
Originally posted by gss
этот метод был проверен на выходных - до того, как я удосужился проверить почту.
по идее все делается правильно, но результат не является ожидаемым.
возможно, перенаправление вывода изнутри вообще невозможно - везде, где я про него читаю, о нем пишется только в контексте другого приложения.
есть еще идеи? у меня они уже кончились.

хм... а если вводить через поток? типа
ostream &ostr;
ostr << "blah-blah-blah!"; // Выводишь чего надо

и, в зависимости от ситуации, можно сделать
ofstream fostr = new ostream("filename");
ostr = &fostr;
или
ostr = &cout

7.6K
13 марта 2005 года
gss
14 / / 01.02.2005
Цитата:
Originally posted by drone
хм... а если вводить через поток?


вариант... это можно попробовать.
хотя проблема, как обычно, уже решилась иным способом.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог