GString* exec_and_out(char* cmd)
{
GString* ret = g_string_new("");
FILE* stream = NULL;
char buf[128];
size_t len = 0;
//popen execute and open stream
stream = popen(cmd, "r");
if (stream != NULL)
{
while (!feof(stream))
{
len = fread(buf, sizeof(char), sizeof(buf), stream);
g_string_append_len(ret, buf, len);
}
}
//Clear the resource
if (stream != NULL)
{
pclose(stream);
}
return ret;
}
Linux下使用popen执行子进程并获得其输出
Leave a reply