我想获得stdout的内容。 我可以使用以下代码段,还是错误的?
FILE *fd;
char a;
fd = fopen("filename","wa+");
// if statement to check if fd is NULL or not
// then :
do
{
fscanf(stdout,"%c",&a);
fprintf(fd,"%c",a);
} while(a!=EOF);
答案 0 :(得分:0)
以下剪辑应该可以解决问题。创建一个连接到stdout的管道并从中读取:
int fds[2];
pipe(fds);
dup2(fds[1], stdout);
fscanf(fds[0],"%c",&a);