Вместо этого используйте popen
.
Вызов функции system
не возвращает никакого вывода, поэтому вы не можете получить его с этим.
Вы можетеиспользуйте popen
, например, чтобы передать вывод netstat -l
:
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
FILE * fp;
int status;
const unsigned int sz = 1024;
char buf[sz];
string cmd;
//cmd = "ls *";
cmd = "netstat -l";
fp = popen(cmd.c_str(), "r");
if (fp == NULL) return 0;
while (fgets(buf, sz, fp) != NULL)
printf("%s", buf);
status = pclose(fp);
if (status == -1)
{
cout << "pclose failed" << endl;
}
return 1;
}
, см. man popen
для получения дополнительной информации.
Должно быть легко включить вывод в Objective-C
, так какВы можете позвонить C
с Objective-c
.