12.2.2 文件的读写
1.字符读写函数
(1)字符输入函数fgetc()
函数调用格式:
ch=fgetc(fp);
函数功能:从文件指针fp指向的文件当前位置(位置指针)读出一个字符,然后文件位置指针自动后移,指向文件中的下一个字符,返回值为读入的字符。若遇到文件结束符,则返回结束符EOF(值为-1)。文件指针fp指向的文件必须已经以读的方式打开。
【例12-1】将磁盘文件myfile.dat的信息读出并显示到屏幕上(假设文件已经存在)。
(2)字符输出函数fputc()
函数调用格式:
其中,ch是字符型数据,fp是文件指针。
函数功能:把一个字符ch写到文件指针fp指向的磁盘文件上去。输出成功,返回输出的字符;输出失败,返回一个EOF(值为-1)。
【例12-2】从键盘输入一串字符存到一个磁盘文件myfile.dat中,以“#”结束。
2.字符串读写函数
(1)字符串输入函数fgets()
函数调用格式:
fgets(str,n,fp);
其中,str是字符型指针或字符型数组,n是整型数据,fp是文件指针。
函数功能:从文件指针fp指向的文件中读取n-1个字符,把它送到由str指向的字符数组中。字符数组的长度应大于n,可存放n-1个字符,字符数组的最后一个元素为'\0'。若在读入n-1个字符前遇到换行符'\n'或文件结束符号EOF,立即结束读入操作。
【例12-3】利用字符串输入函数fgets(),将磁盘文件myfile.dat的信息读出并显示到屏幕上(假设文件已经存在)。
(2)字符串输出函数fputs()
函数调用格式:
fputs(str,fp);
其中,str是字符型指针或字符型数组或字符串常量,fp是文件指针。
函数功能:把字符串str写入由文件指针fp指向的文件中。输出成功,返回0;输出失败,返回非0。
【例12-4】从键盘输入若干行字符存到一个磁盘文件myfile.dat中。
3.格式化读写函数
(1)格式化输入函数fscanf()
函数调用格式:
fscanf(文件指针,格式字符串,输入表列);
函数功能:从“文件指针”指定的文件中按“格式字符串”指定格式输入数据给“输入表列”给出的变量。返回实际被赋值参数的个数。
【例12-5】按指定的格式,从文件studentdat中将学生信息读出并显示在屏幕上。
(2)格式化输出函数fprintf()
函数调用格式:
fprintf(文件指针,格式字符串,输出表列);
函数功能:按“格式字符串”指定格式将“输出表列”给出的数据项输出到“文件指针”指定的文件中。返回实际输出数据的个数。
【例12-6】按指定的格式,将学生信息写入文件student.dat中。
4.数据块读写函数
(1)数据块输入函数fread()
函数调用格式:
其中,buffer是一个指针,指向存放数据块(数组)的首地址,size是输入数据项的字节长度,count是输入数据项的个数,fp是文件指针。
函数功能:从文件指针fp指定的文件中输入count个字节为size的数据,存放在buffer指向的数组中。
【例12-7】利用数据块输入函数fread()完成例12-5。
(2)数据块输出函数fwrite()
函数调用格式:
其中,buffer是一个指针,指向存放数据块(数组)的首地址,size是输出数据项的字节长度,count是输出数据项的个数,fp是文件指针。
函数功能:从buffer指针所指存储单元开始,将count个字节为size的数据输出到文件指针fp指定的文件中。
【例12-8】利用数据块输入函数fwrite()完成例12-6。
5.判断文件是否结束函数
函数调用格式:
feof(fp);
其中,fp是文件指针。
函数功能:判断文件指针fp所指文件是否结束,如果遇到文件结束,函数返回值为1,否则,函数返回值为0。
【例12-9】利用feof(fp)函数改写例11-1:将磁盘文件myfile.dat的信息读出并显示到屏幕上(假设文件已经存在)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。