FILE *out=stdout;
fprintf(out,"Gyyyyy."); // Вывод на экран
out=fopen("c:\\file.txt","wb");
fprintf(out,"Gyyyyy."); // Вывод в файл
fclose(out);
out=stdout;
перенаправление вывода консоли
как это можно сделать, подскажите, плиз...
Цитата:
Originally posted by gss
есть консольная прога, она должна перенаправить свой собственный вывод куда угодно, например, в файл.
как это можно сделать, подскажите, плиз...
есть консольная прога, она должна перенаправить свой собственный вывод куда угодно, например, в файл.
как это можно сделать, подскажите, плиз...
Запускаешь консольную прогу с параметром > "имя файла" и ... Вуаля. Вывод программы перенаправлен в файл.
Цитата:
Originally posted by lord Kelvin
Запускаешь консольную прогу с параметром > "имя файла" и ... Вуаля.
Запускаешь консольную прогу с параметром > "имя файла" и ... Вуаля.
хм. возможно, я не совсем точно выразился - прога сама перенаправляет свой вывод в файл.
это возможно?
SetConsoleOutput не работает - уже проверил...
Цитата:
Originally posted by gss
хм. возможно, я не совсем точно выразился - прога сама перенаправляет свой вывод в файл.
это возможно?
SetConsoleOutput не работает - уже проверил...
хм. возможно, я не совсем точно выразился - прога сама перенаправляет свой вывод в файл.
это возможно?
SetConsoleOutput не работает - уже проверил...
Код:
Цитата:
Originally posted by gss
хм. возможно, я не совсем точно выразился - прога сама перенаправляет свой вывод в файл.
это возможно?
SetConsoleOutput не работает - уже проверил...
хм. возможно, я не совсем точно выразился - прога сама перенаправляет свой вывод в файл.
это возможно?
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");
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");
по идее все делается правильно, но результат не является ожидаемым.
возможно, перенаправление вывода изнутри вообще невозможно - везде, где я про него читаю, о нем пишется только в контексте другого приложения.
есть еще идеи? у меня они уже кончились.
Цитата:
Originally posted by gss
этот метод был проверен на выходных - до того, как я удосужился проверить почту.
по идее все делается правильно, но результат не является ожидаемым.
возможно, перенаправление вывода изнутри вообще невозможно - везде, где я про него читаю, о нем пишется только в контексте другого приложения.
есть еще идеи? у меня они уже кончились.
этот метод был проверен на выходных - до того, как я удосужился проверить почту.
по идее все делается правильно, но результат не является ожидаемым.
возможно, перенаправление вывода изнутри вообще невозможно - везде, где я про него читаю, о нем пишется только в контексте другого приложения.
есть еще идеи? у меня они уже кончились.
хм... а если вводить через поток? типа
ostream &ostr;
ostr << "blah-blah-blah!"; // Выводишь чего надо
и, в зависимости от ситуации, можно сделать
ofstream fostr = new ostream("filename");
ostr = &fostr;
или
ostr = &cout
Цитата:
Originally posted by drone
хм... а если вводить через поток?
хм... а если вводить через поток?
вариант... это можно попробовать.
хотя проблема, как обычно, уже решилась иным способом.