Bom dia,
estou tendo problemas com o seguinte código em C:
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int main(){
char *ptrMac;//ponteiro para char, para armazenar os dados de arp -a
FILE *mac; // ponteiro para tipo arquivo
mac = fopen("MACS.txt", "w"); // abrindo/criando arquivo MACS.txt para salvar arp -a
if(mac == NULL){
printf("Erro ao abrir/criar arquivo!"); // verifica se abriu/criou corretamente
}
ptrMac = malloc(100*sizeof(char)); //alocando memoria dinamica para o ponteiro char pois n sei quanto vou precisar
ptrMac = (char)system("arp -a"); //tentativa de converter saida do prompt em char
fprintf(mac,ptrMac); // para gravar a string no arquivo
free(ptrMac); // liberando a memoria
ptrMac = NULL; // setando como nulo por precaução
fclose(mac);// fechando arquivo
system("pause");
return 0;
}
Queria gravar a saida do system("arp -a") em um arquivo txt, por ser preguiçoso mesmo. Porém assim não funciona.
Tirei a duvida com um professor da faculdade e ele me disse que preciso encontrar um ponteiro na biblioteca Windows.h que seja responsavel pela saida no prompt, agora minha dúvida é qual ponteiro é esse e como encontra-lo. Ou se alguém souber outro metodo que funcione da mesma forma eu agradeço muito!
Att. Vitor.