LINUX.ORG.RU

Cpp передача вывода вызванного стороннего приложения в cpp программу


0

0

Здраствуйте, ткните носом, как реализовать такое? Ну.. пример:

--//--//--//-- system("arp 192.168.1.1"); --//--//--//--

Нужно получить данные, каторые выдаст arp и обработать их в cpp программе.. Как реализовать? желательно просто и железобетонно...

Спасибо

Re: Cpp передача вывода вызванного стороннего приложения в cpp программу

popen

Deleted ()

Re: Cpp передача вывода вызванного стороннего приложения в cpp программу

Ну, man popen, же!
The return value from popen() is a normal standard I/O stream...
Дальше, как с файлом: fread, fwrite.

tzukko ()

Re: Cpp передача вывода вызванного стороннего приложения в cpp программу

Уф.. осилил.. вот пример, ну... мало-ли кому-нить понадобиться:

#include <iostream>
#include <stdio.h>
using namespace std;

int main() {
FILE *cmd;
char buffer[18];
cmd=popen("/sbin/arp -a 192.168.1.1 | awk '{printf $4}'","r");
fgets(buffer,18, cmd);
cout<<buffer;
}

avikez ()

Re: Cpp передача вывода вызванного стороннего приложения в cpp программу

просто для развлечения сейчас скомпилил сначало C++ вариант, потом поменял вывод на printf, и скомпилял на С... даже на таком тупом примере, вариант на С++ весит больше... ужос..

5664 2009-07-08 11:31 test_c

5736 2009-07-08 11:31 test_cc

конечно копейки, но все равно...

P.S.: strip делал на оба бинарника...

Cy6erBr4in ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.