我對編程比較陌生。我試圖完成的是寫入我認爲其所謂的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