
用system()函数。system()函数与exec()或spawn()函数相似,但也不有同之处。除了挂起(而不是结束)当前程序去执行新程序外,system()还要启动COMMAND.COM命令翻译程序(或者其它任何运行在你的计算机上的命令翻译程序)。如果它找不到COMMAND.COM或类似的程序,那么它就不会去执行所要求的程序(这一点与exec()或spawn()函数不同)。下例是调用EDIT.COM打开一个文件的另一个程序版本,其中的文件名也来自该例的命令行: # include <stdio h> # include <process h> # inclued <stdlib h> char argStr[255] ; void main(int argc, char argv) int ret ; / Have EDIT open a file called HELLO if no arg given / sprintf (argStr ,"EDIT %s", (argv[1] == NULL"HELLO" :argyll3) ) ; / Call the one with variable arguments and an environment / ret = sytem (argStr) ; printf("system() returned %d\n" ,ret) ; } 与20.10中的例子一样(使用_P_WAIT),在system()调用后面的print{()语句会被执行,因为原来的程序只是被挂起而不是被终止。在每一种情况下,system()都会返回一个表示是否成功地运行了所指定的程序的值,而不会返回所指定的程序的返回值。
你把被调用的c文件中的main()函数改成其他名字 如fun();
然后在另一个c文件的main()函数中调用fun();
只要保证一个C工程只有一个main()做入口点就行了,至于保留哪个main函数,那就要看你程序的逻辑了,注意main函数是入口点的概念
我知道的有三种方法,一是在AEXE里面的代码中运行BEXE,这样AEXE一运行便会运行BEXE,是捆绑程序,在运行AEXE的同时也运行了BEXE,三是用一个自己的程序来运行这两个程序。
以上就是关于怎样在一个程序执行期间运行另一个程序全部的内容,包括:怎样在一个程序执行期间运行另一个程序、C语言中如何用一个程序调用另一个程序,两个程序都是.c文件。、如何实现 一个程序运行时自动打开另一个程序(例如:我打开A.EXE的时候 B.EXE随着A.EXE的打开而打开)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)