读者:怎样在一个 C 程序中调用另一个程序 (独立可执行的程序, 或系统 命令)?
阿一:使用库函数 system(), 它的功能正是你所要的。注意, 系统返回的值最多 是命令的退出状态值 (但这并不是一定的), 通常和命令的输出无关。还要注意, system() 只接受一个单独的字符串参数来表述调用程序。如果你要建立复杂的命 令行, 可以使用 sprintf()。
读者:return 语句外层的括号是否真的可选择?
阿一:是的,在C语言刚起步的时候, 它们是必须的, 刚好那时有足够的人学习了 C语言, 他们写的代码如今还在使用, 所以还是需要括号的想法被广泛的流传。
读者:怎样知道实际上有多少个参数传入函数?
阿一:一些旧系统提供一个非标准函数 nargs()。然而它的可 信度值得怀疑, 因为它的典型返回值是参数的字节长度, 而不是参数的个数。结 构、整数和浮点类型的值一般需要几个字节的长度。任何接收可变参数的函数都应该可以从传入的参数本身来得到参数的数目。
正文完