Utilisez à la place popen
.
L'appel de fonction system
ne renvoie aucune sortie de sorte que vous ne pouvez pas l'obtenir avec cela.
Vous pouvez utiliser popen
par exemple à la sortie du tuyau de 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;
}
voir man popen
pour plus d'informations.
Il devrait être facile d'incorporer la sortie dans Objective-C
puisque vous pouvez appeler C
de Objective-c
.
N'utilisez pas system ni popen pour effectuer une requête whois simple. Utilisez des librairies spécifiques dans votre langage de programmation ou en bas, ouvrez une socket TCP sur le port 43 et envoyez votre requête terminée par CR + LF comme expliqué dans RFC3912 –