shell_command(char gcommand[100]) {
char output[100];
system(gcommand ">" output);
return output;
}
给我 错误:预期')'字符串常量
我不太清楚为什么会这样。任何帮助:)
答案 0 :(得分:1)
字符串文字可以像这样连接,但字符串值不能。
此外,您似乎希望gcommand
的输出最终位于缓冲区output
中。
使用system
功能无法做到这一点。假设您要在POSIX样式的shell中执行,其中>
是shell重定向运算符,右侧的东西必须是文件名(或描述符)。贝壳。
要执行命令并捕获输出,一种方法是使用POSIX popen函数:
FILE *pipe = popen(gcommand, "r");
char output[100] = { 0 };
if ( pipe )
{
fgets(output, sizeof output, pipe);
pclose(pipe);
}
return output;