IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

r�cup�rer le r�sultat avec "system()"


Sujet :

MFC

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    112
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 112
    Par d�faut r�cup�rer le r�sultat avec "system()"
    Bonjour,
    j'utilise actuelement la fonction qui me permet, dans mon application dos, de r�cup�rer � l'�cran l'arbor�cence, mais comment r�cup�rer le texte affich�?
    merci d'avance

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par d�faut
    il faut que tu utilises les tubes

  3. #3
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    y a rien de plus berk que de faire un system(dir)

    si tu veux lister des fichiers : http://c.developpez.com/faq/vc/?page=Fichiers

    si tu veux r�cup�rer la sortie d'un programme : http://c.developpez.com/faq/vc/?page...CatchDosOutput

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    112
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 112
    Par d�faut
    J'ai essay� le second exemple cit� ici:
    et j'ai un pb: &api n'est pas d�finit, comme je suis avec une application console, si je passe en application windows �a marchera ? je fais comment pour mes printf si c'est une application windows(la question ne se pose peux �tre pas, j'ai jamais fait de prg en win32)?

  5. #5
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    c'est pas &api, mais &pi ... ptite faute dans la faq ...
    Farscaaaape ?

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    112
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 112
    Par d�faut
    merci, mais je n'arrive pas � en faire ce que je veux:
    par exemple si je fais executeCmdWithRedirection("dir", "sortie.txt"), j'optiens rien dans sortie...

  7. #7
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    alors, au risque de me r�peter, il ne faut pas utiliser dir

    Si tu veux lister les r�pertoires, il faut utiliser l'API Win32

    De plus, c'est normal que la fonction que tu veux utiliser ne marche pas, car "dir" est une commande dos, qui ne fonctionne que grace � l'interpr�teur de commande. Pour ce genre de cas, il faut utiliser la premiere solution, mais je r�pete que pour lister, il vaut mieux passer par l'api win32

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    112
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 112
    Par d�faut
    oui, oui je suis d'accord, le 'dir' n'est qu'un exemple, en fait je veux pouvoir utiliser toute les commande dos et r�cup�rer les sotie, pas dans un fichier mais dans une chaine de caract�re, ce qui corse un peu le truc, d�sol� de t'avoir fais r�p�t�, j'ai pas �t� clair sur ce que je voulais

  9. #9
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    il te suffit, en utilisant la premiere solution, d'ouvrir le fichier et de le copier dans une chaine

  10. #10
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    112
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 112
    Par d�faut
    dans ce cas j'ai un nouveau probl�me:
    je n'arrive pas � tout r�cup�rer et tout afficher du fichier texte:

    le contenu du fichier texte:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     Le volume dans le lecteur C n'a pas de nom.
     Le num‚ro de s‚rie du volume est 1CPC-A1CO
     
     R‚pertoire de C:\Program Files\Microsoft Visual Studio\MyProjects\test
     
    08/06/2006  17:08    <REP>          .
    08/06/2006  17:08    <REP>          ..
    08/06/2006  17:08    <REP>          Debug
    08/06/2006  17:08             2ÿ542 main.cpp
    08/06/2006  17:08            14ÿ196 result.txt
    08/06/2006  16:28             4ÿ199 test.dsp
    08/06/2006  16:28               533 test.dsw
    08/06/2006  16:28            25ÿ600 test.ncb
    08/06/2006  17:08               880 test.plg
                   6 fichier(s)           47ÿ950 octets
                   3 R‚p(s)   9ÿ731ÿ588ÿ096 octets libres
    mon code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    void lecture (void)
    {
    	FILE *fichier ;
    	int i ;
    	float x[25], y ;
    	char text[3000];
     
    	fichier = fopen ("result.txt", "rt") ;
     
    	if (fichier == NULL) {
    	    printf ("impossible de créer le fichier mon_fichier.txt\n") ;
    	    exit (0) ;
    				}
    	fgets(text,3000,fichier);
    	printf("%s ",text);
     
    	fclose (fichier) ;
    r�sultat:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
     Le volume dans le lecteur C n'a pas de nom.
    c'est comme s'il s'arr�tai � la premi�re \n

    comment faire?
    merci d'avance

  11. #11
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    c'est normal, une chaine de caract�re se termine par un \0
    donc, quand il en trouve un, il n'affiche pas ce qu'il y a derriere, meme s'il y a quelque chose


    de plus, pour la manipulation des fichiers, je te conseille de lire http://c.developpez.com/faq/vc/?page...#WorkWithFiles et les suivantes

    notamment la mise en buffer

  12. #12
    Membre chevronn� Avatar de Mayti4
    Inscrit en
    F�vrier 2004
    Messages
    442
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2004
    Messages : 442
    Par d�faut
    c'est comme s'il s'arr�tai � la premi�re \n
    Effectivement, c'est le comportement normal de fgets.

    Il faut utiliser fgets dans une boucle.

  13. #13
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    112
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 112
    Par d�faut
    Ok mon code marche pour r�cup�rer les sorties de programme, mais j'ai pas l'impression que c'est ce qu'il faut, je m'explique:
    quand je fais un "dir" je r�cup�re bien l'affichage mais si je tape "@echo bonjour" je ne r�cup�re pas "bonjour" (sortie dos pr�vue), par exemple. M�me chose pour une commande non valide. Bref je pense qu'il faut changer pour une autre m�thode... des id�es?.. je s�che..

Discussions similaires

  1. R�cup�rer le r�sultat d'un system("...")
    Par the_penguin dans le forum C
    R�ponses: 7
    Dernier message: 07/04/2006, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo