c - 如何更改此代码以写入标准输出?

标签 c linux file-io stdout

我正在尝试更改此设置以打印到终端屏幕而不是文件。所以我尝试打印到标准输出。

char    buf;    
int s, n;       
char filename[LINELEN];
char *recfile = "recfile.txt";
FILE *finp;

fflush(NULL);
while(buf != EOF)
{
    fflush(finp);
    if (read(s, &buf, 1) < 0) {
        printf("\terror in recieving file\n");
    }
    if(buf != EOF)
    (void) fputc(buf, finp);
}
fclose(finp);
close(s);

我尝试进行此更改。

finp = freopen("/dev/null","w+", stdout); 

Linux 中的一切都是文件,对吗?那么为什么这不起作用呢?

最佳答案

不应该是fputc(buf, stdout);吗?

关于c - 如何更改此代码以写入标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9762915/

相关文章:

c - 为什么 malloc 将 gcc 中的值初始化为 0?

c - 汇编与 C 代码比较

需要克里昂的帮助

linux - 在 shell 中以\n 作为一个参数传递文本

linux - 如何用数字代码替换文件中的每两列(例如第 4 列和第 5 列为 1)? (通过 awk)

python - 在 python 中作为非特权用户从 Web 服务器 worker 登录的设计模式

c# - 跳转到文件行c#

c - 这个 C 语句是做什么的?

java - JTable从第二行读取文本文件

c++ - 使用模板友元函数 C++ 无效使用非静态数据成员错误