Je suis relativement nouveau en programmation. Ce que j'essaye d'accomplir est d'écrire dans un fichier FIFO je pense que c'est appelé. Fondamentalement, si je suis à une fenêtre de terminal, je peux exécuter la commande echo "0=0" > /dev/pi-blaster
il fonctionnera comme prévu. Donc, ce que je veux faire est d'écrire un programme qui exécutera essentiellement cette commande pour moi mais changer les chiffres entre les guillemets. Je sais comment changer les nombres avec une boucle que j'ai juste du mal à l'écrire réellement le dossier. Aucune erreur n'est générée pendant la compilation ou l'exécution ne fonctionne pas comme si je devais taper la commande ci-dessus. Comme je l'ai dit je suis nouveau à la programmation alors peut-être que je ne suis même pas sur le bon chemin. J'ai inclus mon code ci-dessous:Écriture dans un fichier FIFO avec 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;
}
Est-il possible que ce soit une écriture tamponnée, et vous ne le voyez pas parce qu'il n'a pas encore été vidé? Essayez fflush (fp) après le fprintf pour forcer un flush. –
Je n'ai absolument aucune idée de ce que cela signifie – Yamaha32088
k je vais essayer que – Yamaha32088