全国计算机等级考试二级C语言考点(完整版) 下载本文

4.6 fputs()函数

fputs()函数是用来把字符串输出到文件中,调用形式如下: fputs(str,fp);

其中str是要输出的字符;fp是文件指针,字符串末尾的′\\0′不输出。

考点5. 文件的定位

“文件位置指针“和“文件指针“是两个完全不同的概念。文件指针是在程序中定义的FILE类型的变量,通过fopen()函数,把文件指针和某个文件建立联系。C语言程序通过文件指针实现对文件的各种操作。文件位置指针只是一个形象化的概念,我们将用文件位置指针来表示当前读或写的数据在文件中的位置。当打开文件时,可以认为文件位置指针总是指向文件的开头,即第一个数据之前。当文件位置指针指向文件末尾时,表示文件结束。

5.1 rewind()函数

rewind()函数的调用形式如下: rewind(fp);

该函数的功能是使文件的位置指针重新返回到文件的开头,其中fp为文件指针,且该函数没有返回值。

5.2 fseek()函数和随机读写

如果控制好文件的位置指针,就可以对流式文件进行顺序读写和随机读写。fseek()函数的功能就是移动文件位置指针到指定的位置,其一般的调用形式为: fseek(文件类型指针,位移量,起始点)

“位移量“指以“起始点“为基点,向前移动的字节数。C语言要求位移量是long型数据,并规定在数字的末尾加一个字母L。

5.3 ftell()函数

ftell()函数的作用是得到流式文件中的当前位置,用相对于文件开头的位移量来表示。如果ftell()函数返回值为-1L,表示出错。

5.4 传给main()函数的参数

以前的学习中,我们在编写main()函数时,其后一对圆括号是空的,没有参数。其实,在支持C语言的环境中,可以在运行C程序时,通过运行C程序的命令行,把参数传给C程序。main()函数通常可用两个参数,例如: main(int argc ,char **argv) {}

其中argc和argv是两个参数名,可由用户自己命名。但是,它们的类型却是固定的,第一个参数argc必须是整型;第二个参数argv是一个指向字符型的指针数组的指针,这个字符型指针数组的每个指针都指向一个字符串。因此,第二个参数argv还可直接定义成基类型为字符型的指针数组: char *argv[];

当我们对包含以上主函数的、名为myc的文件进行编译连接,生成名为myc.exe的可执行文件后,即可在操作系统提示符下输入以下命令执行该程序: myc

这就称为命令行,myc即为执行程序的命令。这时argc中的值为1,argv[0]中将存放字符串“myc“的首地址,即指向字符串“myc“。