我有以下功能我的函数填充字符串值
void runSysCall(char *command, char *output)
{
FILE *cmdline = popen(command, "rb");
size_t size = 0;
while(getdelim(&output, &size, 0, cmdline) != -1);
fclose(cmdline);
}
我从这个功能,什么都我回国为空调用它。
char * getVendorOfTheProcesses()
{
char * result = 0;
runSysCall("cat /proc/cpuinfo | grep -i 'Model'", result);
printf("%s", result);
return "asdsd";
}
如果您从函数中打印结果值,它会给出打印结果。
请任何帮助,将不胜感激。
你可能是指'getdelim(output,&size,0,cmdline)'。确保启用所有编译器警告。 – 2013-05-14 18:04:42
@KerrekSB - 是和否:'getdelim'需要'char **'作为第一个参数。但'output'只是'char *'。 – Roddy 2013-05-14 21:07:16