
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