C++如何调用带有输入和输出的exe程序

C++如何调用带有输入和输出的exe程序,第1张

main函数有两个参数,可以接收在启动exe文件时附加的参数。

其中argc就表示参数的个数,argv就表示你输入的其他参数的内容,比如:

#include

void

main(int

argc,

char

argv)

{

printf("参数个数:%d\n",

argc);

printf("第一个参数:%s\n",

argv[0]);

printf("第二个参数:%s\n",

argv[1]);

printf("第二个参数:%s\n",

argv[2]);

}

这个例子运行的时候输入:

文件名

abctxt

123txt

输出:

参数个数:3

第一个参数:文件名

第二个参数:abctxt

第二个参数:123txt

注意这个有参数的命令行是在控制台窗口输入或在VC中工程设置下的“调试----程序变量”中输入。

单变量参数传递比较方便,按下面写就可以了

dim a as string

a="123"

dim strShell as string

strShell="c:\hjssexe " & a & " s"

shell(strshell)

要传递数组,如果用循环完成上述的功能,则会产生50个程序启动请求,而如果目标程序没有对接受参数进行代码上的优化,就会启动50个目标程序。

所以数组传递比较麻烦,要涉及到数组或函数内存地址的传递。而且由于Windows的进程内存空间的保护,编写传递参数的代码十分繁琐,有点得不偿失。

所以如果目标程序是自己编写的,就可以通过读写文件来达到传递数组的目的。

但如果是不能修改的程序,那就比较麻烦了,基本很难满足要求。

——————————————————————————

如果目标程序支持这样调用的话,也是用同样的循环方法生成调用字符串

dim a[49] as string

'数组a赋值

dim strShell as string

dim i as integer

strShell="c:\hjssexe "

for i=0 to 49

strShell= strShell & a[i] & " " '参数间用空格分开

next i

strShell= strShell & " s"

shell(strshell)

int main(int argc,char argv[])

{

int i;

for(i=0;i<argc;i++)

{

printf("%s\n",argv[i]);

}

return 0;

}

cmd下C:\>testexe 1 2 3 4

以上就是关于C++如何调用带有输入和输出的exe程序全部的内容,包括:C++如何调用带有输入和输出的exe程序、vb中调用程序时参数传递、c语言系统调用编写程序,怎么用命令提示符输入参数,可以详细点,举个例子吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10210317.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存