Fonction system() accès refusé

fratleym Messages postés 5 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 19 mars 2009 - 18 mars 2009 à 09:21
cs_ghuysmans99 Messages postés 3983 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 20 mars 2009 à 17:23
Bonjour,
oui je sais, la fonction system() c'est horrible mais bon là, je l'utilise surtout pour que ceux qui reprendront le code sachent à peu près ce que j'ai fait. Je cherche juste à lancer une commande avec cette fonction :

char* AlgoHuffmanAdaptive(const char* filename){
 unsigned long t0 = GetTickCount();
 char *cmd=(char*)malloc(100);
 char *str;
 str=(char *) malloc(50);
 strcpy(str,filename);
 strcat(str,"_HuffAda");
    sprintf(cmd, "h2com %s %s",filename,str);
 system(cmd);
 unsigned long duree = GetTickCount()-t0;
 printf("Temps d'execution AlgoHuffmanAdaptive = %ims\n",duree);
 return str;
}

c'est censé lancé en console le prog qui fait du huffman adaptatif : h2com fichiersource fichierdestination
L'intéret est de choper le temps d'execution comme vous l'aurez remarqué.
Bizarrement, quand je lance une console normale a partir de windows et que j'execute la commande, la premiere fois ca me renvoie "accès refusé" mais si je le fais une deuxieme fois, ca marche.
Mais quand je lance mon prog et que j'appelle la fonction, meme en mettant une boucle ca me met toujours "accès refusé" et je comprends pas trop trop pourquoi.

Aidez moi s'il vous plait !!!

5 réponses

fregolo52 Messages postés 1115 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
18 mars 2009 à 09:30
Salut,

Désolé, j'ai jamais utilisé system avec des programmes avec arguments. J'ai plutôt utilisé _spawnl.
Mais pourquoi ne pas utiliser _spawnl ou CreateProcess ?
0
fratleym Messages postés 5 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 19 mars 2009
18 mars 2009 à 09:44
J'avoue que je connais pas trop creatprocess, j'ai testé vite fait mais ca ne marche pas trop. En mm temps je travaille sous vc++ 6.0 non updaté car je suis sous licence au boulot donc je dois faire avec...
Nan je pense qu'il doit y avoir un probleme tout bete avec system mais j'arrive pas a trouver...
0
fregolo52 Messages postés 1115 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
18 mars 2009 à 14:04
as-tu regardé _spawnl ? on l'utilisait pour lancer un exe en mode console dans une fenetre "cmd".
0
fratleym Messages postés 5 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 19 mars 2009
19 mars 2009 à 15:54
char* AlgoHuffmanAdaptive(const char* filename){
 unsigned long t0 = GetTickCount();
 char *cmd=(char*)malloc(100);
 char *str,*strPath;
 str=(char *) malloc(50);
 strPath=(char *) malloc(50);
 strcpy(strPath,"h2com.exe");
 strcpy(str,filename);
 strcat(str,"_HuffAda");
_spawnl( _P_NOWAIT, strPath, strPath,filename, str, NULL );

voila je l'utilise bien mais il me renvoie toujours "accès refusé"
la je sais plus trop quoi faire...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ghuysmans99 Messages postés 3983 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
20 mars 2009 à 17:23
Je crois que t'as quand même le droit de faire l'update SP6 (qui est la dernière version) !
0
Rejoignez-nous