【发布时间】:2013-05-14 18:02:58
【问题描述】:
我有以下功能
void runSysCall(char *command, char *output)
{
FILE *cmdline = popen(command, "rb");
size_t size = 0;
while(getdelim(&output, &size, 0, cmdline) != -1);
fclose(cmdline);
}
我从这个函数调用它,我返回的是 null。
char * getVendorOfTheProcesses()
{
char * result = 0;
runSysCall("cat /proc/cpuinfo | grep -i 'Model'", result);
printf("%s", result);
return "asdsd";
}
如果您从函数打印结果值,它将给出它应该打印的内容。
如有任何帮助,我们将不胜感激。
【问题讨论】:
-
您的意思可能是
getdelim(output, &size, 0, cmdline)。确保启用所有编译器警告。 -
@KerrekSB - 是和否:
getdelim需要char**作为第一个参数。但output只是char *。