当前位置:  开发笔记 > 运维 > 正文

C系统()调用失败,错误"未终止字符串"

如何解决《C系统()调用失败,错误"未终止字符串"》经验,为你挑选了1个好方法。

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

我当前失败的命令

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

它失败了

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

你怎么逃避双引号,以便命令运行?另外为什么会失败,但是当我用printf替换系统调用时它会打印出来?



1> Daniel LeChe..:

也许你应该\n再次逃脱,如同

system("awk '{ printf \"%d \\n\", $12 }' results.dat | sort -n");
//                         ^ note the extra \

因为我认为\n它应该成为其中的一部分printf.

你当前的构造调用system带有一个参数

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

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有