5

I am outputting to stdout. How can I redirect that to a new file through code? While we run the program we can redirect like ./sample > test.txt. How can I do this when executing the sample program itself ? (C programming)

mdml
  • 21,241
  • 8
  • 53
  • 64
Atom
  • 347
  • 2
  • 4
  • 12

3 Answers3

8

You probably want to use freopen.

Example from reference:

#include <stdio.h>
...
FILE *fp;
...
fp = freopen ("/tmp/logfile", "a+", stdout);
tvanfosson
  • 509,016
  • 97
  • 693
  • 791
3

Use freopen().

Bastien Léonard
  • 58,016
  • 19
  • 77
  • 94
0

Use dup2() system call and redirect the output to a file.

mdml
  • 21,241
  • 8
  • 53
  • 64