int ExecCommand(const char *cmd, char **res)
{
FILE *stream;
FILE *p_z1;
size_t len;
char tmp[64] = {0};
//open_memstream: 强大的函数自动分配内存
stream = open_memstream(res, &len);
if (stream == NULL)
{
return -1;
}
if((p_z1 = popen(cmd, "r")) != NULL)
{
while(fgets(tmp, sizeof(tmp), p_z1))
{
fprintf (stream, tmp);
bzero(tmp, sizeof(tmp));
}
}
fflush (stream);
fclose(p_z1);
fclose (stream);
return len;
}