C系统()调用失败,错误为;“未端接字符串”;

C系统()调用失败,错误为;“未端接字符串”;,c,C,我有一小段c代码,它应该在我的linux机器上运行awk命令。然而,在我的一生中,它不会执行。如果我直接在终端中运行awk,它就会工作 我当前的命令失败 system("awk '{ printf \"%d \n\", $12 }' results.dat | sort -n"); 它失败了 awk: { printf "%d awk: ^ unterminated string 否则,如何转义双引号以使命令运行?这也是为什么失败的原因,但是当我用printf替换系统调用

我有一小段c代码,它应该在我的linux机器上运行awk命令。然而,在我的一生中,它不会执行。如果我直接在终端中运行awk,它就会工作

我当前的命令失败

system("awk '{ printf \"%d \n\", $12 }' results.dat | sort -n");
它失败了

awk: { printf "%d 
awk:          ^ unterminated string

否则,如何转义双引号以使命令运行?这也是为什么失败的原因,但是当我用printf替换系统调用时,它会打印?

也许您应该再次退出
\n
,如中所示

system("awk '{ printf \"%d \\n\", $12 }' results.dat | sort -n");
//                         ^ note the extra \
我认为
\n
应该是
printf
的一部分

当前构造调用
系统
,参数为

awk '{ printf "%d 
", $12 }' results.dat | sort -n

现在就开枪自杀。。。谢谢。@corymatthews:np;有时只需要第二双眼睛:]