[Pluto-devel] Redirezione dell'output in C
Germano Rizzo
mano@pluto.linux.it
Wed, 24 Apr 2002 16:06:34 +0200
> lanci il comando con system("ls>file.c"), oppure con popen("ls") lo apri
> come se fosse un file, ne leggi l'output e poi ne fai ciò che vuoi.
> Mano :)
Scusa per la fretta di prima, mi spiego meglio: per lanciare un comando
in una sottoshell puoi usare:
#include <stdlib.h>
...
char *comando = "ls > file.txt";
int res;
...
res = system(comando);
...
res è -1 se è stato impossibile avviare il comando, altrimenti è il
codice di ritorno del comando. Se vuoi intercettare l'output, puoi
trattare un comando come fosse un file con popen() e pclose():
#include <stdio.h>
...
char *comando = "ls";
FILE *fd;
...
fd = popen(comando, "r"); //NB:solo lettura o solo scrittura
...
fread(buf, n, m, fd); //ad esempio
...
pclose(fd);
Cito a memoria, quindi prendi con le pinze :).
Mano :))
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Germano Rizzo - mano@pluto.linux.it
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Pluto FSUG member - www.pluto.linux.it
Linux Registered User #120637
PGP/GPG Public Key at
http://gnomermind.sf.net/pubkey.txt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
An rud is annamh is iontach
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~