🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #8535

Re: Capturar la salida de un programa

#8535
From: Francisco
Date: Mon, 11 Nov 2002 23:39
59 lines
2677 bytes
Hola!

	Muchas gracias, he resuelto el problema. La funcion popen () y pclose 
() existen en C.

	Ser�a algo as� como:

FILE *pHandle;
char szCad[80];

   pHandle = popen ("prog", "r");

   while (fscanf (pHandle, "%s", szCad) != EOF) "{
     // Procesado de la salida de prog
     printf ("%s\n", szCad);

     ...
   }

   pclose (pHandle);



Un saludo.

Iv�n S�nchez Ortega wrote:
> Francisco wrote:
> 
> 
>>Hola a todos.
>>
>>Estoy haciendo un peque�o programa en C que tiene que llamar a otro
>>programa con la funci�n system () y necesito capturar su salida.
>>
>>La idea mas simple que se me ha ocurrido (y que seguramente funcionar�)
>>es redireccionar la salida a un fichero, y despu�s leer ese fichero.
>>
>>system ("prog > /tmp/fichero");
>>
>>Existe otra forma de hacer lo mismo sin necesidad de crear el fichero?
> 
> 
> No s� si C tiene esa funcionalidad, pero PHP tiene una funci�n 
> (www.php.net/popen) que ejecuta un comando, y devuelve la salida del mismo 
> como si se tratara de un fichero abierto. Es decir, es como un "fopen", 
> pero aplicado a la salida de comandos.
> 
> Si C tiene "popen", ning�n problema. Lo que pasa es que ahora mismo, estoy 
> algo amn�sico respecto a C.
> 
> 
> ----------------------------------
> Iv�n S�nchez Ortega -ivansanchez-arroba-wanadoo-punto-e-ese-
> 
> http://acm.asoc.fi.upm.es/~mr/ 
> Proudly running Debian Woody 3.0 Linux with 2.4.19 kernel, KDE3, and PHP4 
> generating this signature.
> Uptime: 00:24:35 up  2:09,  2 users,  load average: 0.31, 0.33, 0.28
> 
Technical Details
Message-ID: <3DD03FD1.80104@ono.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!pln-e!extra.newsguy.com!lotsanews.com!newsf01.ono.com!news.ono.com.POSTED!not-for-mail
References: <3DD03990.1090606@ono.com> <20021111232624.16CB8877.NOFFLE@BlueSpark.local>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,c70e8198e9aa783d
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-11-11 15:39:19 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!pln-e!extra.newsguy.com!lotsanews.com!newsf01.ono.com!news.ono.com.POSTED!not-for-mail
Message-ID: <3DD03FD1.80104@ono.com>
From: Francisco <fjaime@ono.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0
X-Accept-Language: es-es
MIME-Version: 1.0
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Capturar la salida de un programa
References: <3DD03990.1090606@ono.com> <20021111232624.16CB8877.NOFFLE@BlueSpark.local>
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 60
Date: Mon, 11 Nov 2002 23:39:12 GMT
NNTP-Posting-Host: 62.42.131.27
X-Complaints-To: abuse@ono.com
X-Trace: news.ono.com 1037057952 62.42.131.27 (Tue, 12 Nov 2002 00:39:12 MET)
NNTP-Posting-Date: Tue, 12 Nov 2002 00:39:12 MET