Commande "system" en C

Résolu
Yazou92 Messages postés 208 Statut Membre -  
Char Snipeur Messages postés 10112 Statut Contributeur -
BOOOnnjjjOOuursss (je suis heureux aujourd'hui :D)

Je suis entrain de faire un programme en "C" qui permet d'ouvrir des fichiers "exe" au hasard.

Le problème c'est quand je met le chemin dans la commande "system ("C:\User\Admin\....\nfs.exe");"
le compilateur (Dev-C++) me dit que les commandes "\U-->\User" et "\A-->\Admin" ne les connais pas,
C'est normal, c mais moi je vais que ça soit utilisé en temps que chemin pas en temps que commande du langage C

Pouvais Vos M'aider SVP

Auuuu Reeevoiiirre

8 réponses

Le dinosaure facultatif
 
Salut

je suis content que tu sois heureux !
tu n'en reliras que plus gaiement ton manuel
peut-être y verras-tu la nécessité de doubler l'anti-slash dans une chaine pour éviter de spécifier un caractère spécial ; peut-être auras-tu la chance de lire quelques bribes sur la conduite à tenir en cas de bug avéré du système : décomposition puis recomposition pas à pas jusqu'au déclenchement de l'erreur permettant de découvrir que le bug est dans le passage du manuel que j'ai pas pris le temps de lire...
2
Yazou92 Messages postés 208 Statut Membre 16
 
Salut :D

Merci pour ta réponse, et pas grave si t'a pas lu :D, ca me dérange pas ;)

++
0
Yazou92 Messages postés 208 Statut Membre 16
 
Salut vraimentnuleninfo,

Désoler je peux pas trop t'aider, parce que j'habite en suisse et nous on a pas auchan :P

DSl
0
Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
Le problème de système, c'est que tu passes les commande au shell, et ici c'est windows :-!
Si il y a des espaces, ou des caractère à la con, ça sera mal interprété par dos d'où plantage.
Il faut peut-être protégé tes chemins avec des guillemets :
system ("\"C:\User\Admin\....\nfs.exe\"");
ou utiliser start :
system ("start \"C:\User\Admin\....\nfs.exe\"");
0

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

Posez votre question
Stephane
 
Surtout que system() est complètement prohibé sous Windows !
Il faut lire MSDN un minimum.
On utilise les apis Shell ou Kernel.
Amuse-toi à appeler system() sur un prog en environnement de Prod dans une banque et tu es viré dans la demi-heure...
0
Yazou92 Messages postés 208 Statut Membre 16
 
Salut Stephane

Je suis étudiant, je fais un apprentissage en informatique donc il faut que je teste des trucs, et puis j'ai rien compris a ton message (je suis encore en première année au cas ou).

Donc merci de ta réponse tout de même
0
Yazou92 Messages postés 208 Statut Membre 16
 
Et encore un truc, je savais pas du tout que la commande "system()" est interdite sous Windows, mais maintenant oui, merci :)

Mais c'est que moi je doit faire dans le carde d'un exercice un programme qui permet de lancer des fichiers "exe" mais en "C" sans aucun autre programme à coter donc la commande "system()" a était pour moi le seul moyen afin de faire ça.

Donc si vous avez une autre solution je suis preneur :)

Merci a vous (tous)
0
Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
system() n'est pas interdit sous windows, sauf pour les intégristes de MS. Le terme le plus approprié serait "déconseiller".
regarde les fonction windows Shell et Kernel, je ne connais pas, mais si on te les conseil.
0