如何在这个程序内调用另一个程序的函数

如何在这个程序内调用另一个程序的函数,第1张

直接调用不行,但2个程序可以设定调用规则来实现这个要求,其实就是A程序怎么通知B程序,要调用B程序的函数,同时把调用结果返回给A

通常情况下可以使用消息,就是A程序发个消息给B程序,然后B收到后执行函数,并将结果通知A,

也可以通过Socket通讯完成上述功能

你要知道system的返回值,并非H1EXE的返回值。

在DOS下,

system()只是做一个调用其他程序的工作,只要调用成功就返回0,不成功就返回-1。

它不能得到被调用的程序的执行结果。

要得到其他程序的执行的结果,要用spawn()这个家族的函数。

如果在linux下面

如果你想得到那个返回值可以调用WEXITSTATUS(status),其中status是system函数的返回值。

如果你非常想获取他的返回值,就使用popen函数。它返回一个FILE,就好像读写文件一样 *** 作它就是了,不需要另外写文件读文件。

例:

#include<stdioh>

intsushu(intx)

{inti;

for(i=2;i<x;i++)

if(x%i==0)break;

if(i==x)return1;

elsereturn0;

}

main()

{inti,n=0;

for(i=2;i<=1000;i++)

if(sushu(i)==1)n++:

printf("n=%d",n);

}

扩展资料

使用vfork()新建子进程,然后调用exec函数族

#include<unistdh>

main()

{

charargv[]={“ls”,”-al”,”/etc/passwd”,(char)};

if(vfork()==0)

{

execv(“/bin/ls”,argv);

}else{

printf(“Thisistheparentprocess\n”);

}

}

1 在调用之前,先声明和定义函数

2 根据你函数的参数类表来,填入函数调用时所真正用到的参数来进行调用

例如:要在函数 F(){ } 中调用新增的小程序int FA(int a)和 char FC(char c),按照上面讲的:

1声明和定义

int

FA(int a){ /函数功能具体的定义/};

char

FC(char& c){ /函数功能具体的定义/};

2 根据函数的声明,在F()中加以调用

void

F()

{

int getA = FA(6); //6为int,如果参数是6001,则会强制转换成为6

char getC= FC('a') //a为单个的字符

}

就这样,简单吧,去试试吧 :-)

以上就是关于如何在这个程序内调用另一个程序的函数全部的内容,包括:如何在这个程序内调用另一个程序的函数、C语言 如何调用另一个程序的计算结果急!!!!!、C语言中如何调用子程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存