C system()函数不显示消息

时间:2013-12-02 08:08:07

标签: c system-calls

在C程序中,只有我写

system("./a.bin \"$(cat b.txt)\"; read -s -n 1");

我可以看到错误消息(例如:“分段错误”) 如果没有'read'命令,我的程序不会显示错误;为什么呢?
谢谢。

编辑:
操作系统:Slackware 14.1,编译器:gcc 4.8.2
文件a.c包含:int main() {printf("len = %d\n", strlen(NULL));}
文件p.c包含:int main() {system("./a.bin \"$(cat b.txt)\"; read -s -n 1");}
命令“./p.bin”给出:
sh: line 1: 1177 Segmentation fault ./a.bin "$(cat b.txt)"
如果我们改变int main() {system("./a.bin \"$(cat b.txt)\"");}中的p.c 然后执行p.bin没有出现错误。

0 个答案:

没有答案