C编程:错误:在字符串常量之前预期')'

时间:2014-08-13 22:53:21

标签: c syntax

shell_command(char gcommand[100]) {
 char output[100];
 system(gcommand ">" output);

 return output;
}

给我 错误:预期')'字符串常量

我不太清楚为什么会这样。任何帮助:)

1 个答案:

答案 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;