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);
}
}
Pergunta
GustavoW
Ola,
estou iniciando em C e queria saber se é possível receber o resultado de um comando system().
Por exemplo:
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: 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:Desde já, agradeço.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.