Fonction popen et system

Freedon_Nadd Messages postés 2 Statut Membre -  
kilian Messages postés 8854 Statut Modérateur -
Bonjour,
je recherche des fonctions C sous unix qui font les meme chose que popen et system, si quelqu'un connait comment créer un fonction semblable a popen ou system, je suis ouvert a des suggestions.

Merci de votre aide

1 réponse

kilian Messages postés 8854 Statut Modérateur 1 526
 
Salut,

Si tu ne veux pas utiliser popen ou system tu as aussi execve()
http://www.hmug.org/man/2/execve.php
0
Freedon_Nadd Messages postés 2 Statut Membre
 
Merci de ta réponse, mais je comprends pas comment l'utliser, j'ai essayer de comprendre l'aide dans le lien que tu m'as envoyer, mais je comprends pas plus. Alors j'aimerais bien que tu m'aide. Ce que je veux faire et très simple. Je voudrais passer la commande "ls -l" a une fonction et celle-ci soit exécuter et bien sur sans utiliser popen ou system, qui me faciliterai bien la tache.

Merci d'avance
Freedon_Nadd
0
kilian Messages postés 8854 Statut Modérateur 1 526
 
Comme ceci:
#include <unistd.h>
int main()
{
	/* Déclarer un tableau de pointeurs char
           Sachant que tu as n arguments, la longueur de ton tableau
           doit être de n+2:
           _ Premier argument: le nom du programme
           _ ......
           _ Dernier argument: doit être NULL

           Exemple pour faire ls -l /home 
        */

        char *args[4]={"ls","-l","/home",NULL};
	const char *path="/bin/ls";
        execve(path,args,NULL); //Je laisse env à NULL....
	return 0;
}
0