c语言文件函数参数 c语言中函数参数表

C语言深度总结[全面认识main函数传递参数]

argc和argv是main函数的形式参数。这两个形式参数的类型是系统规定的。如果main函数要带参数,就是这两个类型的参数;否则main函数就没有参数。

创新互联公司主要从事做网站、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务苏家屯,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

坚持使用标准的意义在于:当你把程序从一个编译器移到另一个编译器时,照样能正常运行。

由于是 int main( ..) 那么当时 应当返回 int 但是return 2.3 ;也能运行正确,这是因为编译器自动转换2.3为int,截断后为return 2;  

如果写为 return "abc";那么会报错,  error C2440: “return”: 无法从“const char [4]”转换为“int”。

变量名称argc和argv是常规的名称,当然也可以换成其他名称。那么,实际参数是如何传递给main函数的argc和argv的呢?我们知道,C程序在编译和链接后,都生成一个可执行文件。也可以在命令行下带参数执行,命令行执行的形式为:可执行文件名称 参数1 参数2 ... ... 参数n。可执行文件名称和参数、参数之间均使用空格隔开。

如果按照这种方法执行,命令行字符串将作为实际参数传递给main函数。具体为:

(1) 可执行文件名称和所有参数的个数之和传递给argc;

(2) 可执行文件名称(包括路径名称)作为一个字符串,首地址被赋给argv[0],参数1也作为一个字符串,首地址被赋给argv[1],... ...依次类推。

字符串arav[i](i=1,...argc-1)表式第 i 个程序参数,标准C 要求argv[argc]是个null指针,但在有些旧时编译器中却不是这样的,argv向量以及它所指向的字符串必须是可以修改的,并且他们的值在程序执行期间不能被编译器或操作系统所修改。如果编译器并不允许大小写混合的字符串 ,则存储在argv中的字符串必须采用小写形式。

1.给main函数传递参数只有一种方式,即main(int argc, char *argv[])。第一个参数必须int,第二个(如果有的话)必须是char**或char *argv[]。

2.argc代表传入参数的个数,argv是一个数组,每个元素都是一个char *。字符串arav[i](i=1,...argc-1)表式第 i 个程序参数,标准C 要求argv[argc]是个null指针。

3.main函数参数理论上支持“无数”个,且参数在进程内支持修改。

看C语言文档,函数的参数代表什么意思printf(const char *format, arglist).里面的参数什么意思,全点啊!

int printf(const char *format,[argument]);

format 参数输出的格式,定义格式为:%[flags][width][.perc][F|N|h|l]type

规定数据输出方式,具体如下:

1.type 含义如下:

d 有符号10进制整数

i 有符号10进制整数

o 无符号8进制整数

u 无符号10进制整数

x 无符号的16进制数字,并以小写abcdef表示

X 无符号的16进制数字,并以大写ABCDEF表示

f 浮点数

E/e 用科学表示格式的浮点数

g 使用%f和%e表示中的总的位数表示最短的来表示浮点数 G 同g格式,但表示为指数

c 单个字符

s 字符串

S wchar_t字符(宽字符)类型字符串

% 显示百分号本身

p 显示一个指针,near指针表示为:XXXX

far 指针表示为:XXXX:YYYY

n 相连参量应是一个指针,其中存放已写字符的个数

2.flags 规定输出格式,取值和含义如下:

无 右对齐,左边填充0和空格

- 左对齐,右边填充空格

+ 在数字前增加符号 + 或 -

0 将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-)

空格 输出值为正时冠以空格,为负时冠以负号

# 当type=c,s,d,i,u时没有影响

type=o,x,X时,分别在数值前增加'0',"0x","0X"

type=e,E,f时,总是使用小数点

type=g,G时,除了数值为0外总是显示小数点

3.width 用于控制显示数值的宽度,取值和含义如下

n(n=1,2,3...) 宽度至少为n位,不够以空格填充

0n(n=1,2,3...) 宽度至少为n位,不够左边以0填充

* 格式列表中,下一个参数还是width

4.prec 用于控制小数点后面的位数,取值和含义如下:

无 按缺省精度显示

0 当type=d,i,o,u,x时,没有影响

type=e,E,f时,不显示小数点

n(n=1,2,3...) 当type=e,E,f时表示的最大小数位数

type=其他,表示显示的最大宽度

.* 格式列表中,下一个参数还是width

5.F|N|h|l 表示指针是否是远指针或整数是否是长整数

F 远指针

n 近指针

h 短整数或单精度浮点数

l 长整数或双精度浮点数

C语言fopen函数中文件打开方式(参数值)

C语言fopen函数用于打开文件。

函数原型:FILE

*

fopen(const

char

*

path,const

char

*

mode);

参数:

path

字符串类型,表示文件所在的路径,包括文件名

mode

打开文件的模式、

返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno

中。

mode:

r

以只读方式打开文件,该文件必须存在。

r+

以可读写方式打开文件,该文件必须存在。

rb+

读写打开一个二进制文件,允许读写数据,文件必须存在。

w

打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

w+

打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

a

以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)

a+

以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

(原来的EOF符不保留)

wb

只写打开或新建一个二进制文件;只允许写数据。

wb+

读写打开或建立一个二进制文件,允许读和写。

ab+

读写打开一个二进制文件,允许读或在文件末追加数据。

实例:

#includestdio.h

#define

F_PATH

"d:\\myfile\\file.dat"

int

main(void)

{

FILE*fp=NULL;//需要注意

fp=fopen(F_PATH,"r");

if(NULL==fp)

{

return

-1;//要返回错误代码

}

fclose(fp);

fp=NULL;//需要指向空,否则会指向原打开文件地址

return

0;

}

C语言fopen函数和其参数

fopen()是一个文件I/O 里面的函数 功能是打开一个文件。

其原型是 FILE *fopen(char *filename,char *mode)

返回值 :正常打开 返回指向文件结构体的指针。

失败,返回NULL;

要用这个函数是首先要定义一个 文件指针,例

FILE *fp=NULL;

fp=fopen(“./txt”,"r"); 就是以只读的方式打开当前目录txt这个文件

第一个参数是要打开的文件名

第二个参数是:打开模式 r 只读 , r+ 读写, w只写 ,w+读写, a追加, a+

C语言,文件操作函数,fwrite(s2,7,1,pf)这四个参数都是什么意思

fwrite(

s2, 待写入文件的数据的内存首地址

7, 写入的数据块个数 n

1, 一个数据块的大小 s

pf 待写入的文件指针

)

总共写入文件的数据字节数为n*s个

c语言中main函数的参数

main函数可以不带参数,也可以带参数,这个参数可以认为是 main函数的形式参数。

C语言规定main函数的参数只能有两个,还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为:

int main (int argc,char *argv[])

由于main函数不能被其它函数调用,因此不可能在程序内部取得实际值。那么,在何处把实参值赋予main函数的形参呢? 实际上,main函数的参数值是从操作系统命令行上获得的。当我们要运行一个可执行文件时,在DOS提示符下键入文件名,再输入实际参数即可把这些实参传送到main的形参中去。

DOS提示符下命令行的一般形式为:

C:\可执行文件名 参数 参数……


网页标题:c语言文件函数参数 c语言中函数参数表
标题来源:http://myzitong.com/article/dooccih.html