Я относительно новичок в программировании. То, что я пытаюсь выполнить, - это записать в файл FIFO, который, как мне кажется, называется. В принципе, если я нахожусь в терминальном окне, я могу выполнить команду echo "0=0" > /dev/pi-blaster
, она будет работать по назначению. Поэтому я хочу написать программу, которая в основном выполнит эту команду для меня, но изменит числа между двойными кавычками. Я знаю, как изменить числа с помощью цикла. У меня просто возникают проблемы с его записью. Во время компиляции не возникает ошибок, и они просто не работают, как если бы я набирал команду выше. Как я уже сказал, я новичок в программировании, поэтому, возможно, я даже не на правильном пути. Я включил мой код ниже:Запись в файл FIFO с помощью c
#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;
}
Возможно ли, что это буферизованная запись, и вы не видите, что это происходит, потому что она еще не очищена? Попробуйте fflush (fp) после fprintf, чтобы заставить флеш. –
Я понятия не имею, что это значит – Yamaha32088
k я попробую – Yamaha32088