
你要知道system的返回值,并非H1EXE的返回值。
在DOS下,
system()只是做一个调用其他程序的工作,只要调用成功就返回0,不成功就返回-1。
它不能得到被调用的程序的执行结果。
要得到其他程序的执行的结果,要用spawn()这个家族的函数。
如果在linux下面
如果你想得到那个返回值可以调用WEXITSTATUS(status),其中status是system函数的返回值。
如果你非常想获取他的返回值,就使用popen函数。它返回一个FILE,就好像读写文件一样 *** 作它就是了,不需要另外写文件读文件。
我没学过VB,但是C里的子函数都是你调用才运算的呀,函数的类型就是返回值的类型,如float count(int a){。。。;return z;}就定义了一个返回值为float型的函数
C语言中,子程序是通过函数来实现的,一个函数相当于一个有独立功能的子程序,子程序意在体现着main函数的作用。函数机制的实现通常需要经过设计、声明和调用来完成的。所有的函数在调用之前都必须声明,声明函数必须包括函数名,返回值两部分,参数列表是可缺省的。声明可以附加关键字,关于作用域的声明包括关键字extern和static,前者表明函数的定义不在这个文件中,但是它需要在这个文件中使用;后者声明的函数说明此函数只在此文件中使用,意即标记有static的函数允许在其他函数中存在同名函数。在函数声明之后就可以通过调用 *** 作符()来对函数进行调用 *** 作。函数的区分涉及到函数签名的概念,函数的签名一般包括它的返回值,函数名和参数列表,签名相同的函数被认为是相同的,这使得函数可以重载以实现函数的功能多样化。函数在被调用时,首先由系统根据签名确认被调用的函数,然后系统计算并为之分配足够的内存,调用函数将使用权交割给函数之后执行函数内部的语句,遇到return之后停止执行,然后返回值,释放内存。
1要调用的测试程序代码
#include <stdioh>
int main(int argc, char argv[])
{
for(int i = 0; i < argc; i++)
puts(argv[i]);
return 0;
}
2主程序代码
#include <stdioh>
#include <stringh>
#include <stdlibh>
#define program_name "putsexe "
int main(int argc, char argv[])
{
char buf[1024];
char temp[1024];
while(1)
{
memset(buf, 0, sizeof(buf));
strcpy(buf, program_name);
puts("请输入程序参数:");
gets(temp);
strcat(buf, temp);
system(buf);
}
return 0;
}
以上就是关于C语言 如何调用另一个程序的计算结果急!!!!!全部的内容,包括:C语言 如何调用另一个程序的计算结果急!!!!!、C语言的子程序该怎么调用、C语言中如何调用子程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)