• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

alexandre_t

Linux: Executar comando, receber resposta e armazenar

7 mensagens neste tópico

Boas tardes,

Ando aqui a desenvolver umas aplicações, mas precisava de umas dicas, é o seguinte:

Queria num programa escrito em C mandar executar o comando "iwlist" e depois que me fosse devolvida a resposta para um ponteiro de forma a poder tratar a informação recebida e posteriormente armazenar em ficheiro.

espero ter-me feito entender.

cmpts a todos  :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É mais fácil usar a função system, não sei se é bem o caso mas se for só para passar essa informação para o ficheiro basta fazer:

system("iwlist > ficheiro.txt");

E ficas com o output desse comando nesse ficheiro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

obrigado, vou testar.

Já ajuda, posso sempre depois abrir o ficheiro e ler, não fica tão eficiente mas deve funcionar.  :biggrin:

depois coloco resultados,

eu em linux sou um newbie ando agora ás cabeçadas  :wallbash:

:(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem, estou com um pequeno problema e não percebo porque

este é o codigo de teste, funciona tudo muito bem, menos quando o mando fechar o ponteiro para file

#include <sys/time.h>

#include <unistd.h>

#include <stdio.h>
#include <string.h>


int main()
{

char tmp[300];
unsigned long size; 
FILE *file;


printf("Vai começar\n");

system("iwconfig > ficheiro.txt");

        if((file=fopen("ficheiro.txt","r"))!=NULL)

       		 {

		fseek(file,0,SEEK_END);
		size = ftell(file);
		rewind(file);

		 fread(tmp,size,1,file);  


      		 }

printf("Leitura1:%s\n\n", tmp);


fclose(file);
}

obtenho este erro

Segmentation fault

Não percebo é porque  :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

vou testar, é que estou a usar isto num processador MIPS a correr uma distro especifica, mas só me dá mesmo esse erro.  :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora