第一个参数b[0]是命令行直接调用程序的路径(可能是不完整的,例如只有文件名)。E:\C\j.EXE是LZ程序的完整路径。在命令提示符窗口中输入E:\C\j.EXE
创新互联建站"三网合一"的企业建站思路。企业可建设拥有电脑版、微信版、手机版的企业网站。实现跨屏营销,产品发布一步更新,电脑网络+移动网络一网打尽,满足企业的营销需求!创新互联建站具备承接各种类型的网站建设、网站设计项目的能力。经过十年的努力的开拓,为不同行业的企事业单位提供了优质的服务,并获得了客户的一致好评。
(空格)加字符串,运行的j.EXE中b[0]为"E:\C\j.EXE"(考虑转义字符,在C语言中每个\写成\\),后面的字符串(用空格等空白符分隔)依次是b[0]、b[1]……如果参数中需要包含字符串,那么用引号加在该参数的两侧,否则这个参数会被当作多个参数传入程序。也可以命令提示符中cd
E:\C回车后进入j.EXE所在目录(如果盘符不是E:再输入E:回车),直接用j.EXE
(空格,.EXE可以省略)后面加参数的参数也可以,这样b[0]为"j.EXE"(.EXE省略时为"j"),其它不变。
简单的测试程序:
#include
stdio.h
#include
stdlib.h
int
main(int
a,
char*
b[])
{
int
i;
for(i
=
0;
i
a;
++i)
puts(b[i]);
system("pause");
return
0;
}
该程序输出所有命令行参数字符串,包括直接调用该程序的(完整的或不完整的)程序路径b[0]。
====
[原创回答团]
1、多文件之间,一般很少有单个参数传递,那个交集太大,不容易移植,各个文件之间最好是越独立越好。
2、数据传递,一般是通过函数接口来实现的。就是用另一个C文件中的某一个功能的时候,可以通过include它的头文件,然后直接调用它的接口函数,这样目的就达到了,这样实现的好处就是易于移植。
定义变量的时候,直接等于一个函数返回值即可。
一、在C语言中,定义变量同时,给变量赋值,称为初始化。
二、初始化形式为
TYPE var_name = INIT_VALUE;
其中TYPE为变量类型, var_name为变量名, INIT_VALUE为初始值。
三、要用函数返回值作为初始化,那么只需要把函数调用写在INIT_VALUE区域即可。 示例代码如
#include stdio.h#include time.hint main(){ int cur_time = time(NULL);//以time函数返回值作为cur_time的初始化值。 printf("当前POSIX标准时间为:%d\n",cur_time);//使用cur_time. return 0;}
函数参数有传值和传址两种,你只要把数组的首地址传过去就可以了,函数参数是个指针,接收数组首地址,就可以在子函数中用指针调用数组中的数据。
#include stdio.h
#include stdlib.h
void process_data( char * data)
{
//处理数据
}
int main()
{
FILE * fp;
char read_buffer[1024];
fp = fopen( "read.txt","r");//打开 read.txt文件,获取文件指针
while(!feof(fp)) {//判断是否到达文件末尾
fread(read_buffer, 1024, 1, fp);//读取1024字节, 遇到\n 就返回 也就是一行数据
process_data(read_bufffer);//将数据传人处理数据的函数中
}
fclose(fp);
return 0;
}