/** Auteur : RC (inspiration MS) Squelette du programme popen_somme Cf. algorithme dans la fonction main NB : La fonction popen() engendre un processus en créant un tube (pipe), executant un fork(), et en invoquant le shell avec la commande donnée dans l'argument no 1. Comme un tube est unidirectionnel par definition, l'argument no 2 doit indiquer seulement une lecture ou une écriture, et non pas les deux. Le flux correspondant sera donc ouvert en lecture seule ou écriture seule. Cf. man ... */ #include #include #include #include #define MAX_COMMANDE 100 int main (int argc, char *argv[]) { assert (argc == 3); /// Syntaxe : ./a.out /// Exemple : ./a.out 2 10 /// Resultat : 2047 int x; int n; FILE *fPin; char commande[MAX_COMMANDE]; int somme; int l; char unResultat[10]; /// "n" boucles "for" avec le compteur l { /// Preparation de la commande pour popen(avec sprintf) /// Creation du fils et du pipeline et test d'erreur... /// Avec fscanf, lecture de la valeur x^l produite par ... /// Fermeture avec pclose /// Incrementation de la somme } /// affichage du resultat return 0; }