如何调用可执行文件?

mostneed 2002-08-02 10:49:02
如题,用Ansi C怎么做?谢谢
...全文
59 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
step_by_step 2002-08-02
  • 打赏
  • 举报
回复
在windows下可以用ShellExecute();
在dos下面可以用system();
在unix下面可以用system();
y_zhi_yong 2002-08-02
  • 打赏
  • 举报
回复
vc下有个WinExec函数的。查查看吧。
huang_yi_cn 2002-08-02
  • 打赏
  • 举报
回复
在vc下好想有个什么shell函数
huang_yi_cn 2002-08-02
  • 打赏
  • 举报
回复
exec是tc下的.
LeeMaRS 2002-08-02
  • 打赏
  • 举报
回复
有一个exec系列函数,不过不是ANSI C的
system函数倒是ANSI C的,就是执行DOS命令的函数.用它也可以的.
guoming1 2002-08-02
  • 打赏
  • 举报
回复
up
liushmh 2002-08-02
  • 打赏
  • 举报
回复
参数就是要执行的文件的名称
liushmh 2002-08-02
  • 打赏
  • 举报
回复
好像有個execute()函數
dcyu 2002-08-02
  • 打赏
  • 举报
回复
可以用Exec和Spawn函数族:不知道是不是Ansi C下的,反正tc下是可以用的。int execl( char *pathname,char *arg0,char *arg1,…,char *argn,NULL)
int execle( char *pathname,char *arg0,char *arg1,…,
char *argn,NULL,char *envp[])
int execlp( char *pathname,char *arg0,char *arg1,…,NULL)
int execlpe(char *pathname,char *arg0,char *arg1,…,NULL,char *envp[])
int execv( char *pathname,char *argv[])
int execve( char *pathname,char *argv[],char *envp[])
int execvp( char *pathname,char *argv[])
int execvpe(char *pathname,char *argv[],char *envp[])
exec函数族装入并运行程序pathname,并将参数
arg0(arg1,arg2,argv[],envp[])传递给子程序,出错返回-1
在exec函数族中,后缀l、v、p、e添加到exec后,
所指定的函数将具有某种操作能力
有后缀 p时,函数可以利用DOS的PATH变量查找子程序文件。
l时,函数中被传递的参数个数固定。
v时,函数中被传递的参数个数不固定。
e时,函数传递指定参数envp,允许改变子进程的环境,
无后缀e时,子进程使用当前程序的环境。

int spawn…运行子程序
int spawnl( int mode,char *pathname,char *arg0,char *arg1,…,
char *argn,NULL)
int spawnle( int mode,char *pathname,char *arg0,char *arg1,…,
char *argn,NULL,char *envp[])
int spawnlp( int mode,char *pathname,char *arg0,char *arg1,…,
char *argn,NULL)
int spawnlpe(int mode,char *pathname,char *arg0,char *arg1,…,
char *argn,NULL,char *envp[])
int spawnv( int mode,char *pathname,char *argv[])
int spawnve( int mode,char *pathname,char *argv[],char *envp[])
int spawnvp( int mode,char *pathname,char *argv[])
int spawnvpe(int mode,char *pathname,char *argv[],char *envp[])
spawn函数族在mode模式下运行子程序pathname,并将参数
arg0(arg1,arg2,argv[],envp[])传递给子程序.出错返回-1
mode为运行模式
mode为 P_WAIT 表示在子程序运行完后返回本程序
P_NOWAIT 表示在子程序运行时同时运行本程序(不可用)
P_OVERLAY表示在本程序退出后运行子程序
在spawn函数族中,后缀l、v、p、e添加到spawn后,
所指定的函数将具有某种操作能力
有后缀 p时, 函数利用DOS的PATH查找子程序文件
l时, 函数传递的参数个数固定.
v时, 函数传递的参数个数不固定.
e时, 指定参数envp可以传递给子程序,允许改变子程序运行环境.
当无后缀e时,子程序使用本程序的环境.


jamesfangjing 2002-08-02
  • 打赏
  • 举报
回复
#include <dos.h>

......
system("....."); /* ()内为可执行文件的路径名 */
......
ddszhan 2002-08-02
  • 打赏
  • 举报
回复
#include <dos.h>

......
system("....."); /* ()内为可执行文件的路径名 */
......
me_on_line 2002-08-02
  • 打赏
  • 举报
回复
在windows下可以用CreateProcess() 或 ShellExecute();
在RTOS 下面可以用TaskSpawn()

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧