从C ++程序向终端传递命令的问题

时间:2019-05-07 03:02:51

标签: c++ linux

当我在终端中运行此命令时,它运行正常

df | awk '/ \/$/{print "HDD "$5}'

输出:

HDD 52%

我想构建一个C ++程序将此命令行传递给终端:

代码:

#include<stdlib.h>
int main()
{
    system("df | awk '/ \/$/{print \"HDD \"$5}'");
}

但是当我运行它时,出现了一个错误:

awk: line 1: runaway regular expression /{print "HD ...

我该如何解决?

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

#include<stdlib.h>

int main()
{
    system("df | awk '/ \\/$/{print \"HDD \"$5}'");
}

如果要在c ++字符串中使用反斜杠,则应添加\\而不是\