Donner un ordre a msdos

bastet1978 Messages postés 54 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 4 décembre 2005 - 26 oct. 2003 à 23:30
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 31 oct. 2003 à 22:10
Bonjour, je cherche a donner des ordres a la commande msdos avec un prog en c. Du style afficher qqchose, lire les renseignements, lui faire executer une commande.
Merci de votre aide.
Bastet.

3 réponses

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
27 oct. 2003 à 00:14
#include <stdlib.h>
et
system(" commande ms dos ");
0
bastet1978 Messages postés 54 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 4 décembre 2005
29 oct. 2003 à 18:22
ok.
Y a-t-il un moyen de recuperer des donnees affichees dans la commande dos ?
Du style je lui fait chercher mon ip avec ipconfig, je recupere automatiquement l'ip, je la crypte et je l'affiche?
Merci du coup de main. Si c'est possible...
B@stet.
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
31 oct. 2003 à 22:10
oui c'est possible, il fo recuperer la sortie standard de ipconfig, g sai pas comment on fait en C mais on peut aussi la detourner vers un fichier avec l'operateur > en entrant la commande ipconfig > fichier, ensuite ya plus qu'a recuperer l'adresse ip sous forme de chaine de caractere dans le fichier.
par chance g l'ai deja fait, voici le code:

bool test(char c) // test si c est un chiffre
{
int i=int(c);
if(i>=48 && i<=57) return true;
return false;
}

void main()
{
int i=1;
char c,ip[16];
ifstream fic;

system("ipconfig > fic");
fic.open("fic",ios::in | ios::nocreate);
do
{
fic.get(c);
}while( !test(c) );
ip[0]=c;
fic.get(c);
while(c!='\n')
{
ip[i]=c;
i++;
fic.get(c);
}
ip[i]='\0';

fic.close();
system("del /f fic");

cout<<"votre adresse ip est:"<<ip<<endl;
}
0
Rejoignez-nous