全站搜索未启用
跳到主要内容

视频四:文本文件的输入访问操作 视频

1.从文本文件中读出数据的系统函数

从文本文件中读出数据需要调用在stdio.h头文件中声明的fgetc()函数或fgets()函数。

int fgetc(FILE* stream);

    //从文件中读出一个字符并返回。若读到文件结束标记则返回-1。

读写指针:当打开一个文件用来从中读取数据时,系统就自动设置一个读文件指针,并使它的初值为0,即初始指向文件的开始位置上。若一个文件内容为n个字节,则对应的字节编号依次为0、1、2、…、n-1,在文件的最后位置,即编号为n的位置上保存着文件结束标记字符EOF(-1)。

当打开一个文件用来向其写入数据时,系统就自动设置一个写文件指针,并使它的初值为0,但对于追加写方式,则写文件指针的初值为n,因为需要把内容依次写入到文件的末尾。

每次从打开的文件中读写一个数据时,就是按照文件读写指针的位置进行,然后读写指针向后移动到新的位置上,移动的字节数等于所读写数据的字节数。

char* fgets(char* str, int length, FILE* stream);

    //从文件中读出一行字符并保存到str字符数组空间,同时返回str值,

    //若没有读到任何内容则返回空指针NULL。

若当前行的字符数为20,待保存数据的字符数组长度为9,则需要3次读完该行:8、8、4。

若保存数据的字符数组长度为12,则需要2次读完该行:11、9

若保存数据的字符数组长度>20,则只需要1次读完该行:20