[bash dos vers C] demarer un prog en C

Fermé
lordglub Messages postés 28 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 17 septembre 2010 - 10 août 2007 à 21:49
mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 - 14 août 2007 à 19:44
bonjour
je desire demarre un programme en C avec des argument. En ligne de commande j ai

XLaunch -run config34.xlaunch

Et ca marche tres bien

je veux le mettre dans un executable en C avec la commande suivante


system("start XLaunch -run config34.xlaunch");

MAsi la ca ne marche pas il ne prend pas les arguemtn en compte, c est peut etre la syntaxe mais je ne trouve pas laquel utiliser.

MErci !
A voir également:

2 réponses

mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 7 802
11 août 2007 à 14:36
A ta place j'utiliserais plutôt un execvp :
http://www.linux-kheops.com/doc/man/manfr/man-ascii-0.9/man3/execvp.3.txt.html

Bonne chance
0
lordglub Messages postés 28 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 17 septembre 2010
14 août 2007 à 19:04
en fait si je le refait en C je retrouve un probleme que j aivais sur un autre post que j ai laisser sur le quel tu avait deja aider, que j ai contourner en utilisant system start. Mais en C avec par exemple

char * argss []¸ = {"iexplorer", NULL} ;
execvp ("iexplorer", argss);

char * argss []¸ = {"notepad", NULL} ;
execvp ("notepad", argss);

juste le premier programme ce lance, jammais le second. avec cette notation je peu mettre des argument. Tamdis que avec system, je ne peu pas mettre d argument, mais je peux lancer les 2.

bref avec execvp je passe des argument , mais avec systeme start j en lancer deux en emem temp.. Et moi evidemant je veux faire les deux..
0
mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 7 802
14 août 2007 à 19:44
Un exemple qui marche sous linux :
#include <unistd.h>

int main(){
        char * args[] = {"kwrite","plop.txt",NULL};
        execvp("kwrite",args);
        return 0;
}

Bonne chance
0