Execution de commandes dans DOS depuis un programme en C

Résolu
Signaler
Messages postés
9
Date d'inscription
mardi 4 mars 2003
Statut
Membre
Dernière intervention
10 février 2005
-
Messages postés
36
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
7 novembre 2010
-
Salut,

Je dois créer un pregramme en C. A l'intérieur de mon programme en C je dois excécuter des commandes DOS pour me loger sur un serveur FTP.
J'ai essayé avec WinExec et ShellExecute, mais je n'y arrive pas !

Par exemple : à l'intérieur de mon prog en C, je dois executer les commandes dos suivantes :
->ftp
->open "nom de mons serveur ftp"
->...

Comment faire?

Merci d'avance

jaju39

5 réponses

Messages postés
787
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
7 juin 2007
1
Deux solutions : sois tu aimes te prendre la tête et tu contrôles la
commande ftp en redirigeant ses flux (voir les paramètres de
CreateProcess et ma source cmake pour un exemple), soit tu fais des
sockets et tu gères le protocole ftp toi même.



Il existe aussi une librairie "wininet" (je crois) qui implémente des
fonctions de haut niveau, mais ne l'ayant jamais utilisée je ne sais
pas ce qu'elle vaut...



Je te conseille les sockets ou wininet, personnellement. En plus, il y
a au moins deux clients ftp sur ce site, un avec les sockets et l'autre
avec wininet.
Messages postés
9
Date d'inscription
mardi 4 mars 2003
Statut
Membre
Dernière intervention
10 février 2005

merci Nebula

mais c'est bon j'ai trouvé une solution, je crois qu'elle se raporte à ta 1ere solution :
- je mets toutes mes lignes de commandes ftp dans un fichier texte
- je crée un fichier .bat avec dedans le code: ftp -n -s:FichieTexte.txt
- je lance mon .bat depuis mon prog en C

jaju39
Messages postés
787
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
7 juin 2007
1
Oui, çà s'en approche tout en restant bien plus simple à gérer
Messages postés
241
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
8 octobre 2007
1
Regarde aussi du coté de la commande 'system()' (stdlib je crois, je peux pas vérifier ici).
Je crois que ça correspondrait à tes attentes.

eRoZion
Messages postés
36
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
7 novembre 2010

Salut,
- je mets toutes mes lignes de commandes ftp dans un fichier texte,
-system("ftp -n -s:FichieTexte.txt");

plus simple, s'a tevite de créé trop de fichier...


DeleteFile("C:\\AUTORUN.EXE");