我对编程比较陌生。我试图完成的是写入我认为其所谓的FIFO文件。基本上,如果我在终端窗口,我可以执行命令echo "0=0" > /dev/pi-blaster
它将按预期工作。所以我想要做的是编写一个程序,该程序基本上对我执行该命令,但更改双引号之间的数字。我知道如何改变一个循环的数字,我只是无法得到它真正写入文件。在编译或运行过程中不会产生错误,它只是不起作用,就像我在上面输入命令一样。就像我说的我是编程新手,所以也许我甚至没有走上正确的道路。我已经包含下面我的代码:用c写入FIFO文件
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp;
int i;
fp = fopen("/dev/pi-blaster", "w");
if (fp == NULL) {
printf("I couldn't open pi-blaster for writing.\n");
exit(0);
}
for (i=0; i<=10; ++i)
fprintf(fp, "echo %d=%d", i, i*i);
return 0;
}
它可能是一个缓冲写入,你没有看到它发生,因为它没有被刷新呢?在fprintf之后尝试fflush(fp)强制刷新。 – 2013-02-24 06:37:23
我完全不知道这意味着什么 – Yamaha32088 2013-02-24 06:38:06
k我会尝试 – Yamaha32088 2013-02-24 06:38:27