将输出从stdout重定向到字符串?

CSa*_*awy 5 c redirect stdout

在C中我想将进程的输出从stdout重定向到写入"共享内存段",可以将其视为char数组或带有指针的字符串
我知道有dup2但是它将文件描述符作为参数不是指向数组的指针.有没有办法将其重定向到字符串?

sr0*_*853 5

char string[SIZE];
freopen("/dev/null", "a", stdout);
setbuf(stdout, string);
Run Code Online (Sandbox Code Playgroud)

有关定义,请参见freopensetbuf

  • 如何撤消这个?需要撤销吗? (2认同)