私はプログラミングに比較的慣れていません。私が達成しようとしているのは、FIFOファイルに書き込むことです。基本的に、ターミナルウィンドウにいる場合は、コマンドを実行できますがecho "0=0" > /dev/pi-blaster
、意図したとおりに機能します。だから私がやりたいのは、基本的にそのコマンドを実行するが、二重引用符の間の数字を変更するプログラムを書くことです。ループで数値を変更する方法を知っています。実際にファイルを書き込むのに問題があります。コンパイル中または実行中にエラーが生成されることはなく、上記のコマンドを入力したかのように機能しません。私が言ったように、私はプログラミングに不慣れなので、おそらく私は正しい道を進んでいません。以下にコードを含めました。
#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;
}