bonjour,
je suis en train de d�velopper une appli en c++ sous mac et j'ai besoin de savoir comment ex�cuter un script shell. Apparemment la fonction system() est valable uniquement sous windows.
Version imprimable
bonjour,
je suis en train de d�velopper une appli en c++ sous mac et j'ai besoin de savoir comment ex�cuter un script shell. Apparemment la fonction system() est valable uniquement sous windows.
salut,
Normalement sous mac, c'est comme sous linux (les deux syst�mes sont posix), donc tu peux utiliser system, il se trouve dans stdlib.h.
La doc de system est ICI .
Attention :
- Ne pas mettre un string comme param�tre, il veut vraiment une const char *.
- La plus part des des appels syst�mes sous mac doivent se faire en "sudo"...
Cordialement,
merci pour ton aide.
Bien que je passe un const char* en param�tre la console me emt l'erreur suivante : "could not open input file"
La commande que je souhaite lancer est : php monFichier.php et m�me en sudo, pas moyen de lancer le fichier.
Pourtant quand je lance cette commande directement dans le terminal, je n'ai aucun probl�me
Si tu veux retrouver ton environnement, il faudra passer par les fonctions exec() (man 3 execl devrait t'en donner la liste). Au moins l'une d'entre elle - execle() - permet de sp�cifier les variables d'environnement (que tu peux r�cup�rer avec getenv() (again, man 3)).
Attention : il faut executer fork() (man 2 fork) avant de lancer une fonction de la famille exec().
Toutes ces fonctions sont des fonctions POSIX, donc normallement accessibles sur MacOS. Je viens de v�rifier, et il semblerait que �a soit le cas.