Ir para conteúdo
Fórum Script Brasil
  • 0

Receber retorno do comando system()


GustavoW

Pergunta

Ola,

estou iniciando em C e queria saber se é possível receber o resultado de um comando system().

Por exemplo:

system("ping www.google.com.br");
queria que o resultado desse comando fosse para uma variavel(um buffer), para que eu pudesse trata-la e pegar apenas o tempo de resposta do ping, mas isso em um loop, continuamente, e não somente uma vez. Mas de um jeito mais "elegante", e não fazendo gambiarras, como:
system(ping www.google.com.br > arquivo.txt);
e depois ler esse arquivo para pegar o tempo. Achei como fazer isso em linux, mas preciso disso em windows, alguém poderia me ajudar? Abaixo como fazer isso em linux:
#include <stdio.h>
#include <stdlib.h>

int main()
{
int p[2], backup;
char buf[1000];

backup = dup(1);
close(0);
close(1);

pipe(p);
system ("ls -la");
dup2(backup, 1);

printf("O system gerou os dados:\n");
while (fgets(buf, 1000, stdin)){
printf("%s", buf);
}
}

Desde já, agradeço.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...