------<a href="http://www.itheima.com"target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流!
本篇主要的是介绍一下C语言中与文件相关的一些概念及其用法。
"文件"是指存储在计算机外部存储器(其实就是存储在了计算机的硬盘上了)中的数据的集合。计算机根据文件的名字,完成对文件的操作。
在c程序中系统对文件进行的各种操作是通过指向文件结构体的指针变量来实现的。
格式: FILE * 指针变量名;
文件可以分为两类:一种是ASCII码文件另一种是二进制文件
ASCII文件也称为文本文件,这种文件再磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码
二进制文件是按二进制的编码方式来存放文件的
对文件的读和写是最常用的文件操作,在C语言中提供了多种文件读写的函数
字符读写函数:fputc fgetc
格式:
fputc(字符量,文件指针);
fputc('a',fp);
字符串读写函数:fputs fgets
格式:
fputs(字符串,文件指针);
fputs(str,stdout);
fgets(str,len,stdin);
数据块读写函数:fread fwrite(长用于二进制文件中)
格式:
fread(地址,字符长度,块数,文件)
fread(buffer,size,count,fp)
格式化读写函数:fscanf fprintf
格式:
fscanf(文件指针,格式字符串,输入列表);
fscanf(fp,"%d%s",&i,s)
操作文件指针的步骤:
1、引入头文件stdio.h
2、建立文件指针
FILE *fp=NULL;
3、打开文件,操作文件
fopen(文件名 操作方式);
如果打开成功,返回首地址
如果打开失败,返回NULL
4、关闭文件flose(fp);
文件建立好了以后,我们队文件的操作是什么方式也很重要,下面就介绍一下对文件的操作方法:
文件使用方式 意义
r 打开一个已经存在的文件,准备从文件中读取数据
w 创建一个文件,准备向文件中写入数据,不能从文件中读取数据
如果文件已经存在,则这个文件将会被覆盖(也就是说先删后建)
a 打开一个已经存在的文件,准备在文件尾部追加数据,不能从文件中读取数据
如果文件不存在,则创建文件准备写入数据。
r+ 打开一个已经存在的文件,准备读写,即可读又可写
w+ 创建一个文件,准备读写,即可读又可写,如果文件已存在则覆盖
a+ 和a一样,但是可以读取数据
t 打开一个文本文件
b 打开一个二进制文件
下面再介绍两个和文件相关的函数:
1、fseek函数
格式:
fseek(文件指针,位移量,起始点);
其实这个函数是用来在文件中确定位置的,如果说我们想要在文件中某个位置进行书写,而并不是从新建立一个文件的话,那么这个函数就显得尤为重要了。
2、rewind函数
格式:rewind(文件指针);
作用是把文件指针重新移动到首地址。