QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 843|回复: 2

碰到一个问题:难道fprintf向stderr输出和向本地普

[复制链接]
发表于 2005-4-12 06:15:05 | 显示全部楼层 |阅读模式
我在RTLinux3.2+Linux-2.4.20下编写了一个应用 FIFO的程序,非实时模块的代码如下:
int main(int argc,char **argv)
{
        int fd_fifo, m, n;
        long long data_ret;
        FILE *fp_ret;
       
        fp_ret = fopen(argv[1], "a+");
        if (fp_ret == NULL)
        {
                printf("Error: open file %s failed! errno=%d\n",argv[1],errno);
                exit(1);
        }

        fd_fifo = open ("/dev/rtf3", O_RDONLY);
        if (fd_fifo < 0)
        {
                printf("Error: opening /dev/rtf3 fail! \n");
                exit(1);
        }
       
        for (;;)
        {
                n = read(fd_fifo, &data_ret, sizeof(long long));
                fprintf(stderr,"%Ld\n",data_ret);
                fprintf(fp_ret,"%Ld\n",data_ret);
        }
        fclose(fp_ret);
        close(fd_fifo);
        return 0;
}


郁闷的是 fprintf(stderr,"%Ld\n",data_ret)能在屏幕上显示正确结果(一些long long类型的数据)
但是 fprintf(fd_ret,"%Ld\n",data_ret); 死活都不向 fd_ret中写数据?
这时什么原因?
 楼主| 发表于 2005-4-12 07:22:24 | 显示全部楼层
没事了,解决拉,自己犯了一个错误
回复

使用道具 举报

发表于 2005-4-12 16:35:29 | 显示全部楼层
你的代码里没有fd_ret这个变量
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 07:34 , Processed in 0.047559 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表