Запись ВСЕГО вывода программы в txt файл в C++

Я решил эту проблему с

@GeneratedValue(strategy = GenerationType.IDENTITY)
8
задан Jonathan Leffler 21 February 2009 в 21:57
поделиться

5 ответов

Это - дубликат: этот вопрос

Можно перенаправить stdout, stderr и использование stdin std::freopen.

Из вышеупомянутой ссылки:

/* freopen example: redirecting stdout */
#include <stdio.h>

int main ()
{
  freopen ("myfile.txt","w",stdout);
  printf ("This sentence is redirected to a file.");
  fclose (stdout);
  return 0;
}

Можно также запустить программу через командную строку как так:

a.exe > stdout.txt 2> stderr.txt
9
ответ дан 3 November 2019 в 12:50
поделиться

Если Ваша программа уже использует cout/printf, и Вы хотите отправить ВСЕ, что Вы в настоящее время производите в файл, Вы могли просто перенаправить stdout для указания на файл перед существующими вызовами: http://support.microsoft.com/kb/58667

Соответствующие нормы:

freopen( "file.txt", "w", stdout );
cout << "hello file world\n"; // goes to file.txt
freopen("CON", "w", stdout);
printf("Hello again, console\n"); // redirected back to the console

Кроме того, если Вы просто хотите, чтобы Некоторые вещи были распечатаны в файл, Вы просто хотите регулярный поток вывода файла: http://www.cplusplus.com/doc/tutorial/files.html

Соответствующие нормы:

ofstream myfile;
myfile.open("file.txt");
myfile << "Hello file world.\n";
printf("Hello console.\n");
myfile.close();

ОТРЕДАКТИРУЙТЕ к совокупным ответам от John T и Brian Bondy:
Наконец при выполнении его от командной строки можно просто перенаправить вывод, как все остальные упомянули при помощи оператора перенаправления">", или добавьте">>":

myProg > stdout.txt 2> stderr.txt
15
ответ дан 3 November 2019 в 12:50
поделиться

Затем Вы не можете использовать станд.:: ухаживайте где-либо еще для печати материала из программы. Станд. изменения:: суд к станд.:: ostream и затем передают Ваш файл или станд.:: суд как требуется.

3
ответ дан 3 November 2019 в 12:50
поделиться

Если Вы хотите весь вывод в текстовом файле, Вы не должны кодировать ничего дополнительного.

из командной строки:

program > output.txt

Если Вы только хотите перенаправить определенный вывод, можно использовать ostream в качестве dirkgently предложенный.

6
ответ дан 3 November 2019 в 12:50
поделиться
sOutFile << stdout;

в C"stdout"определяется как a FILE* переменная. Это - просто указатель. Вывод это в файл просто пишет значение указателя в Вашем случае: 0x77c5fca0 в файл.

Если Вы хотите направить свой вывод к файлу или записать это файл во-первых или перенаправить вывод Вашей программы в файл с помощью командной строки.

3
ответ дан 3 November 2019 в 12:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: