Перенос вывода программы в файл на C - PullRequest
0 голосов
/ 22 августа 2010

Я написал программу на C, чтобы получить все возможные комбинации строки. Например, для abc будет напечатано abc, bca, acb и т. Д. Я хочу получить этот вывод в отдельном файле. Какую функцию я должен использовать? У меня нет никаких знаний об обработке файлов в C. Если кто-нибудь объяснит мне небольшой фрагмент кода, я буду очень благодарен.

Ответы [ 4 ]

4 голосов
/ 22 августа 2010

Если вы запускаете его из командной строки, вы можете просто перенаправить стандартный вывод в файл.В Bash (Mac / Linux и т. Д.):

./myProgram > myFile.txt

или в Windows

myProgram.exe > myFile.txt
4 голосов
/ 22 августа 2010

Использование функции fopenfprintf(f,"…",…); вместо printf("…",…);, где f - это FILE*, полученное из fopen), которое даст вам этот результат. Вы можете fclose() ваш файл, когда вы закончите, но это будет сделано автоматически ОС, когда программа выйдет, если вы этого не сделаете.

1 голос
/ 22 августа 2010

Прошло некоторое время с тех пор, как я это сделал, но во IIRC есть freopen, который позволяет открывать файл с заданным дескриптором.Если вы откроете myfile.txt в 1, все, что вы пишете в stdout, пойдет туда.

0 голосов
/ 22 августа 2010

Вы можете использовать команду tee (доступно в * nix и cmd.exe) - это позволяет отправлять вывод как в стандартный вывод, так и в именованный файл.

./myProgram | tee myFile.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...