c语言如何 调用外部程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言如何 调用外部程序相关的知识,希望对你有一定的参考价值。
c语言如何 调用外部程序例如我现在有一个程序源码 我想在这个程序里再加上一个别人已做好的exe程序。怎么做。最好举例说明。本人小菜。大虾莫见怪哦。复制别人的东西就别回答了。没分了。55555555
fe函数名: exec...功 能: 装入并运行其它程序的函数
用 法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL);
int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,
char *envp[]);
int execlp(char *pathname, char *arg0, arg1, .., NULL);
int execple(char *pathname, char *arg0, 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[]);
程序例: /* execv example */
#include <process.h>
#include <stdio.h>
#include <errno.h> void main(int argc, char *argv[])
int i; printf("Command line arguments:\n");
for (i=0; i<argc; i++)
printf("[%2d] : %s\n", i, argv[i]); printf("About to exec child with arg1 arg2 ...\n");
execv("CHILD.EXE", argv); perror("exec error"); exit(1);
多看书,多Google,百度, 参考技术A
调用外部程序接口
方法1.
Process p=Runtime.getRuntime.exec("cmd")(最常用)
方法2.
Process p=new ProcessBuilder(cmd).start()
但是一般方法一比较常用, 下面我们介绍下方法一中关于抽象Process类的常用函数
//向对应程序中输入数据
abstract public OutputStream getOutputStream();
//获得对应程序的输出流(没写错)
abstract public InputStream getInputStream();
//获得程序的错误提示
abstract public InputStream getErrorStream();
//等待程序执行完成,返回0正常,返回非0失败
abstract public int waitFor() throws InterruptedException;
//获得程序退出值,0正常退出,非0则异常
abstract public int exitValue();
//销毁进程
abstract public void destroy();
其中前3个函数用的最多
以上是关于c语言如何 调用外部程序的主要内容,如果未能解决你的问题,请参考以下文章
C语言中,怎样调用外部exe程序,等外部程序执行完之后在执行本程序的下一条语句