[ C ] pclose
Résolu
magic charly
Messages postés
122
Date d'inscription
Statut
Membre
Dernière intervention
-
magic charly Messages postés 122 Date d'inscription Statut Membre Dernière intervention -
magic charly Messages postés 122 Date d'inscription Statut Membre Dernière intervention -
bonjour,
je n'arrive pas bien a comprendre le but et l'utilisation de la fonction pclose... qqn pourrait il m'en dire un peu plus?
je n'arrive pas bien a comprendre le but et l'utilisation de la fonction pclose... qqn pourrait il m'en dire un peu plus?
4 réponses
je voudrais comprendre l'instruction suivante avec p un pointeur sur fichier (File * p)
if (pclose(p) == 0)
(void) printf("OK\n");
else
(void) printf("ERR\n");
if (pclose(p) == 0)
(void) printf("OK\n");
else
(void) printf("ERR\n");
c'est bien de la fonction pclose dont tu parles ? je ne la connais pas et ne l'ai même pas trouvée dans une doc de référence.
Ne s'agirait-il pas de fclose ?
Ne s'agirait-il pas de fclose ?
si si c'est bien la fonction pclose j'ai meme trouvé de la doc mais je ne suis pa sur de bien la comprendre
http://www-gtr.iutv.univ-paris13.fr/Cours/Mat/Systeme/CoursUnixGTR/chap-10_sec-2_sec-2.html
http://www-gtr.iutv.univ-paris13.fr/Cours/Mat/Systeme/CoursUnixGTR/chap-10_sec-2_sec-2.html
La librairie unistd.h sert aux appels système.
En prenant l'exemple du site :
popen( ) crée un 2e process et lance la commande. De plus il y a initialisation d'un pipe, qui permettra aux deux process de communiquer.
fgets récupère le résultat de la commande
fclose( ) termine le process lancé par popen
Si on ne fait pas le pclose( ), le 2e process continue à exister, bien qu'il ne fasse rien.
Est-ce bien le sens de ta question ?
En prenant l'exemple du site :
popen( ) crée un 2e process et lance la commande. De plus il y a initialisation d'un pipe, qui permettra aux deux process de communiquer.
fgets récupère le résultat de la commande
fclose( ) termine le process lancé par popen
Si on ne fait pas le pclose( ), le 2e process continue à exister, bien qu'il ne fasse rien.
Est-ce bien le sens de ta question ?