|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() ![]() Ingénieur systèmes et réseaux Inscription : février 2006 Messages : 147 ![]() |
Boujour a tous,
je suis étudiant et j'ai un devoir a rendre sur un programme a réaliser en C. Le but du programme est de faire un interpreteur de commande simple, efficace et en francais. Par exemple pour regarder le contenu d'un fichier txt, on tape "voir fichier.txt". plusieurs commande sont a realiser mais pour cela, il faut que j'utilise les commandes integrer a windows... Le seule probleme c'est que je ne sais pas vraiment comment faire. Par exemple, si je veux creer un répertoire, je vais saisir dans mon interpreteur de commande "nvdossier" "nom_du_dossier" mais pour cela, je vais devoir utiliser la commande mkdir "nom_du_dossier" . Si quelqu'un pouvait m'aider, j'en serais très reconnaissant ! merci EDIT: j'ai recherché sur google mais je n'ai malheureusement pas trouvé de réponses satisfaisante. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : décembre 2004 Messages : 1 478 ![]() |
system() de stdlib.h avec une chaine de commande construite par sprintf() de stdio.h.
|
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() ![]() Ingénieur systèmes et réseaux Inscription : février 2006 Messages : 147 ![]() |
j'avais trouvé une piste sur system() mais sans avoir réellement compris comment ca marchait.
Mais je ne vois pas vraiment comment utiliser system() et sprintf() pour l'associé a une commande ms-dos. Dois-je lui preciser le chemin des commandes ? |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Administrateur systèmes et développeur Web Inscription : juin 2003 Messages : 8 029 ![]() |
Je ne vois pas où le problème. Tu formates ta ligne de commande avec sprintf() comme si tu le tapais dans ton shell et tu appelles system() avec cette chaîne.
system() passe par cmd.exe donc à ce titre si tu n'as pas besoin de mettre le chemin de commande sur le shell, tu n'as pas besoin de le mettre dans ton instruction system().
__________________
Responsable technique forum & site Si ce message (ou un autre) vous a aidé et/ou vous semble pertinent, votez pour lui avec
|
|
00
|
|
|
#5 |
![]() ![]() Romuald PerrotAttaché Temporaire d'Enseignement et de Recherche (ATER) Inscription : avril 2005 Messages : 4 146 ![]() |
Une autre solution consiste à appeller directement une commande système pour effectuer le même boulot, reste à déterminer sur quel OS tu te bases et à chercher la dite commande.
__________________
http://rperrot.developpez.com http://phos-graphein.fr Vous désirez contribuer à la rubrique algorithmique, n'hésitez pas à me contacter. |
|
|
00
|
|
|
#6 | |
|
Membre habitué
![]() ![]() Ingénieur systèmes et réseaux Inscription : février 2006 Messages : 147 ![]() |
Citation:
sa fonctionne pour windows et linux ?? par exemple si je tape dir pour windows et si je tape ls pour linux sa marche ? |
|
|
|
00
|
|
|
#7 | ||
|
Membre habitué
![]() ![]() Ingénieur systèmes et réseaux Inscription : février 2006 Messages : 147 ![]() |
j'ai testé la commande dir :
Code :
plus qu'a tester avec linux |
||
|
|
00
|
|
|
#8 | |
![]() ![]() Inscription : décembre 2003 Messages : 14 505 ![]() |
Citation:
__________________
Pas de Wi-Fi à la maison : CPL Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://www.bien-programmer.fr/ http://bien-programmer.forum-actif.net/forum.htm |
|
|
|
00
|
|
|
#9 | ||
|
Membre habitué
![]() ![]() Ingénieur systèmes et réseaux Inscription : février 2006 Messages : 147 ![]() |
ok, mais si je fais ca par exemple :
Code :
|
||
|
|
00
|
|
|
#10 | |
![]() ![]() Inscription : juin 2004 Messages : 5 850 ![]() |
Bonjour,
Citation:
__________________
gege2061's blog |
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() ![]() Ingénieur systèmes et réseaux Inscription : février 2006 Messages : 147 ![]() |
en pratique sa marche pas, le dir marche mais dans le répertoire courant, pas dans c:\windows\
EDIT: bizarre, quand je remplace c:\windows\ par D: ( un hdd de ma machine), il reconnait la commande et m'affiche le contenu de D: Lorsque je remplace c:\windows\ par C: , il m'affiche le contenu du repertoire courant ( mes documents) |
|
|
00
|
|
|
#12 | |
![]() ![]() Inscription : décembre 2003 Messages : 14 505 ![]() |
Citation:
__________________
Pas de Wi-Fi à la maison : CPL Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://www.bien-programmer.fr/ http://bien-programmer.forum-actif.net/forum.htm |
|
|
|
00
|
|
|
#13 |
|
Membre habitué
![]() ![]() Ingénieur systèmes et réseaux Inscription : février 2006 Messages : 147 ![]() |
lorsque j'execute ce message apparait :
test de la commande dirLe format du paramètre est incorrect - "windows". En faites c'est bon , il fallait mettre dir c:\\windows\\ |
|
|
00
|
|
|
#14 | |
![]() ![]() Inscription : décembre 2003 Messages : 14 505 ![]() |
Citation:
__________________
Pas de Wi-Fi à la maison : CPL Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://www.bien-programmer.fr/ http://bien-programmer.forum-actif.net/forum.htm |
|
|
|
00
|
|
|
#15 |
|
Expert Confirmé Sénior
![]() |
Je viens de tester sous cmd, ça fait la même erreur.
N'oublions pas que les commandes DOS (et par extension, pour tous les batches Windows) ont leurs paramètres traditionnellement introduits par "/"... |
|
|
00
|
|
|
#16 | |
![]() ![]() Inscription : décembre 2003 Messages : 14 505 ![]() |
Citation:
__________________
Pas de Wi-Fi à la maison : CPL Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://www.bien-programmer.fr/ http://bien-programmer.forum-actif.net/forum.htm |
|
|
|
00
|
|
|
#17 | ||
|
Membre habitué
![]() ![]() Ingénieur systèmes et réseaux Inscription : février 2006 Messages : 147 ![]() |
et une autre petite question...( décidement)...
Quand je saisie ce code : Code :
|
||
|
|
00
|
|
|
#18 |
|
Expert Confirmé Sénior
![]() |
1°) Sans doute un problème avec getchar()... Essaie en le remplaçant pas system("pause") sous Windows...
2°) Le scanf() utilisé ainsi, c'est très mauvais : utilise fgets(). |
|
|
00
|
|
|
#19 | ||
![]() ![]() Inscription : décembre 2003 Messages : 14 505 ![]() |
Citation:
http://emmanuel-delahaye.developpez....e=Page6#LXXXII http://emmanuel-delahaye.developpez....=Page6#LXXXIII Citation:
__________________
Pas de Wi-Fi à la maison : CPL Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://www.bien-programmer.fr/ http://bien-programmer.forum-actif.net/forum.htm |
||
|
|
00
|
|
|
#20 |
|
Membre habitué
![]() ![]() Ingénieur systèmes et réseaux Inscription : février 2006 Messages : 147 ![]() |
merci beaucoup pour c'est info
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com