相关疑难解决方法(0)

setbuf重定向

我使用 setbuf 来将 stdout 重定向到 char 缓冲区,但是当我只想将新数据写入 stdout 时,它会产生一些副作用

正如下面的代码所解释的:

#define bufSize  100
int main()
{
    char buf[bufSize];
    setbuf(stdout, buf);
    printf("123");             //123 is written to the buffer

    setbuf(stdout,NULL);       //123 is written to the stdout(unwanted side effect)
    printf("456");             //123456 appears in the stdout
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

关于此的其他问题 - 这段代码适用于 unix/linux/mac os 吗?

谁能提出重定向的解决方案?

c redirect buffer stdout

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

buffer ×1

c ×1

redirect ×1

stdout ×1