Réponses dos

eldred Messages postés 32 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 14 juin 2006 - 21 mars 2006 à 16:29
cs_Mr.X Messages postés 118 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 2 novembre 2007 - 8 avril 2006 à 13:06
Bonjour!!
J'ai une question!!
si je fais system("dir C:");
est il possible d'enregistrer la réponse du dos dans une variable??
Si oui ce serait vraiment fun!!
Merci d'avance

8 réponses

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
21 mars 2006 à 17:42
J'trouve beaucoup plus fun de refaire la fonction soi-même

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

BOOL DirPath(char *szPath)
{
WIN32_FIND_DATA wfd;
HANDLE hFile;

hFile = FindFirstFile(szPath, &wfd);

if(hFile == INVALID_HANDLE_VALUE)
{
printf("Erreur...");
return FALSE;
}

while(FindNextFile(hFile, &wfd))
{
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
printf("%s\n", wfd.cFileName);
}
FindClose(hFile);
return TRUE;
}

int main()
{
DirPath("C:\\*.*");
system("PAUSE");
return 0;
}

if(!Meilleur("Joky")) return ERREUR;<
0
Oeil_de_taupe Messages postés 150 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 16 février 2009
21 mars 2006 à 17:42
Si tu veux récupérer les nom des fichiers il suffit de faire un FindFirstFile puis FindNextFile pour passer au prochain fichiers.

Si tu veux récupérer une sortie de console il y a deux façon (une propre, une moins propre)
<ol><li>Tu envoies dans la console pas "dir C:" mais "dir C: >> C:\liste_fichier.txt". ">>" c'est une redirection de la console. Ca permet de poser la sortie de la commande dans un fichier (ici: liste_fichier.txt) au lieu d'afficher la sortie directement dans la console. Il te restera, après avoir fait cette commande, de lire de fichier "liste_fichier.txt", récupérer les informations puis supprimer le fichier. Une source qui utilise cette technique: ici
</li><li>Bon, maintenant la bonne solution : Il y a une possibilité avec des "Pipes" mais je t'avoue ne l'avoir jamais utilisée. Voici une source qui t'en diras plus (cette source, en VB , envoie un ping et récupère le retroure de la console par un pipe): ICI
</li></ol>
J'espère que j'aurai pu t'être utile.

La taupe voit toujours tout (sauf les bugs)
0
Oeil_de_taupe Messages postés 150 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 16 février 2009
21 mars 2006 à 17:43
Mouarf, mince, Joky est toujours plus rapide que moi
0
eldred Messages postés 32 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 14 juin 2006
21 mars 2006 à 19:31
Vos deux réponses sont bien mais le seul probleme c'est que le DIR c'est un exemple!!!

je dois pouvoir le faire avec toutes les commandes dos!!

je vais éssayer de me pencher sur la solution des pipes, si quelqu'un a de plus amples infos ce serait nikel!!

Merci!!
0

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

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
21 mars 2006 à 19:36
Regarde CreatePipe dans MSDN, exemple y est donné.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
eldred Messages postés 32 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 14 juin 2006
21 mars 2006 à 19:39
cool merci!!
0
eldred Messages postés 32 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 14 juin 2006
21 mars 2006 à 20:29
heuuuu si quelqu'un voit comment les faire marcher ces fameux pipes??? lol
0
cs_Mr.X Messages postés 118 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 2 novembre 2007
8 avril 2006 à 13:06
Sa m'interesserai aussi
0
Rejoignez-nous