prev up next   top/contents search

comp.lang.c FAQ 列表· 第19.27题

Q如何在C程序中调用另一个程序(一个独立的exe文件或一个操作系统命令)?


A使用库函数system,它就能完成这个任务。

一些系统还提供了一系列的spawn例程,它们可以完成几乎相同的任务。system函数在“可移植性”方面更好,因为它是在ANSI C标准下要求的,尽管命令字符串的解释——其语法和接受的命令集——显然会极大地不同。

system函数以子程序的方式“调用”一个命令,最终控制权会返回给调用程序。如果你想用另一个程序覆盖调用程序(也就是说,进行“链式”操作),你将需要一个特定于系统的例程,例如Unix上的exec系列。

请注意,system函数的返回值最多是命令的退出状态(尽管这一点也不保证),并且通常与命令的输出无关。

参见问题 19.2819.30

参考文献:K&R1 第7.9节 第157页
K&R2 第7.8.4节 第167页,B6节 第253页
ISO 第7.10.4.5节
H&S 第19.2节 第407页
PCS 第11节 第179页


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管