版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
文件操作“C语言基础编程实战第15章01打开、读取和关闭文件fopen()函数用于打开文件,fgets()函数用于读取文件,fclose()函数用于关闭文件。C语言开发者需要注意每次使用fopen()函数打开文件后都需使用fclose()函数关闭文件。02运用fgetc()函数从文件中读取第一个字符常用的打开文件方式如下。1.r:以只读方式打开文件。文件必须存在。2.w:以只写方式打开文件。如果文件存在,那么会清空文件内容;如果文件不存在,那么会创建新文件。3.a:以追加方式打开文件。如果文件存在,那么新的内容会被追加到文件的末尾;如果文件不存在,那么会创建新文件。4.r+:以读/写方式打开文件。文件必须存在。5.w+:以读/写方式打开文件。如果文件存在,那么会清空文件内容;如果文件不存在,那么会创建新文件。6.a+:以读/追加方式打开文件。如果文件存在,那么新的内容会被追加到文件的末尾;如果文件不存在,那么会创建新文件。03运用fputc()函数将一个字符写入文件在C语言中,要将字符写入TXT文件,开发者可以使用“w”模式打开文件,而不是“r”模式。“w”模式是以只写方式打开文件,然后可以使用fputc()函数或fprintf()函数将字符写入文件。04运用fgets()函数从文件中读取第一行步骤1:学习读取txt文档的第一行字符内容,输入以下代码。#include<stdio.h>intmain(){FILE*fp;charfilename[]="products.txt"; //要打开的文件名
//打开文件
fp=fopen(filename,"r"); //r是以只读方式打开文件
if(fp==NULL){
printf("无法打开文件:%s\n",filename);return1;}步骤1:学习读取txt文档的第一行字符内容,输入以下代码。//读取文件第一行
charline[100]; //定义一个足够大的缓冲区来存储整行
if(fgets(line,sizeof(line),fp)!=NULL){
printf("%s",line);}else{
printf("无法读取文件:%s\n",filename);}//关闭文件
fclose(fp);return0;}步骤2:输入代码后的效果如图15-11所示。步骤3:按快捷键F10执行命令,弹出“Confirm”对话框,单击“Yes”按钮,执行程序后,显示如图15-12所示。步骤4:验证打开“products.txt”文件的第一行字符的内容是否正确,可以直接打开文件,可见读取第一行字符内容正确为“NameAgeScore”,如图15-13所示。步骤2:输入代码后的效果如图15-11所示。步骤3:按快捷键F10执行命令,弹出“Confirm”对话框,单击“Yes”按钮,执行程序后,显示如图15-12所示。步骤4:验证打开“products.txt”文件的第一行字符的内容是否正确,可以直接打开文件,可见读取第一行字符内容正确为“NameAgeScore”,如图15-13所示。05运用fgets()函数从文件中读取第二行步骤1:学习读取txt文档的第二行字符内容,输入以下代码。#include<stdio.h>intmain(){FILE*fp;charfilename[]="products.txt"; //要打开的文件名
//打开文件
fp=fopen(filename,"r"); //r是以只读方式打开文件
if(fp==NULL){
printf("无法打开文件:%s\n",filename);return1;}//跳过第一行(已读取)charline[100];if(fgets(line,sizeof(line),fp)!=NULL){//donothing}else{
printf("无法读取文件:%s\n",filename);return1;}//读取第二行
charsecond_line[100];if(fgets(second_line,sizeof(second_line),fp)!=NULL){
printf("%s",second_line);}else{
printf("无法读取文件:%s\n",filename);return1;}//关闭文件
fclose(fp);return0;}步骤2:输入代码后的效果如图15-14所示。步骤3:按快捷键F10执行命令,弹出“Confirm”对话框,单击“Yes”按钮,执行程序后,显示如图15-15所示。步骤4:验证打开“products.txt”文件的第二行字符的内容是否正确,可以直接打开文件,可见读取第二行字符内容正确为“Cloudylin1895”,如图15-16所示。06运用fread()函数从文件中读取数据在C语言中,fread()和fgets()都是用于文件操作的函数,但是它们的功能和使用方式有所不同。fread()函数用于从文件中读取数据,其语法格式如下:fread(ptr,size,count,stream)参数说明如下:ptr是一个指向数据的指针,读取的数据将存储在该指针所指向的内存区域。size表示要读取的每个数据项的字节数。count表示要读取的数据项数。stream是一个指向要读取的文件的指针。fread()函数将返回实际读取的数据项数。fgets()函数用于从文件中读取一行,其语法格式如下:fgets(str,n,stream)参数说明如下:str是一个指向字符数组的指针,读取的行将存储在该数组中。n是要读取的最大字符数(包括空字符'\0')。stream是一个指向要读取的文件的指针。fgets()函数将返回一个指向str的指针,或者如果发生错误或到达文件末尾,则返回NULL。简而言之,fread()函数用于读取文件中的数据块,fgets()函数用于读取文件中的一行文本。fread()函数读取数据时需要指定数据的大小和数量,fgets()函数只需要指定要读取的最大字符数。07运用fwrite()函数向文件中写入数据步骤1:学习运用fwrite()函数向文件中写入数据,应学会运用a+写入文件的方式,输入以下代码。#include<stdio.h>#include<string.h>#defineMAX_LINE_SIZE100intmain(){FILE*fp;charfilename[]="products.txt";charline[MAX_LINE_SIZE];//打开文件用于写入
fp=fopen(filename,"a+");//a+文件内容会被增加到末尾
if(fp==NULL){
printf("无法打开文件:%s\n",filename);return1;
}//使用line变量
strcpy(line,"姓名是林富荣\n学号是20280001\n");
fwrite(line,sizeof(char),strlen(line),fp);//关闭文件
fclose(fp);return0;}步骤2:输入代码后的效果如图15-20所示。步骤3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高渗高血糖综合征 MDT 多学科联合查房|医护药综合教学课件
- 2026年贵州省中小学编制教师招聘考试备考试题及答案详解
- 2026年新疆维吾尔自治区乌鲁木齐市中小学编制教师招聘笔试参考题库及答案详解
- 2026年厦门市湖里区中小学编制教师招聘考试备考试题及答案详解
- 2026年承德市鹰手营子矿区事业编单位人员招聘笔试备考试题及答案详解
- 2026年江西省九江市中小学编制教师招聘笔试参考试题及答案详解
- 2026年玉林市玉州区事业编单位人员招聘笔试备考题库及答案详解
- 2026年梧州市长洲区中小学编制教师招聘笔试参考试题及答案详解
- 2026年包头市白云矿区中小学编制教师招聘考试参考试题及答案详解
- 2026年北京市顺义区中小学编制教师招聘考试备考试题及答案详解
- 肝性脑病疑难病例讨论
- 骨科牵引的护理与观察
- 天津大学光学试题及答案
- 无人机集群技术-智能组网与协同 课件全套 第1-8章 绪论- 无人机集群任务分配
- DB11T 1014-2021液氨使用与储存安全技术规范
- 国家开放大学《Web开发基础》形考任务实验1-5参考答案
- 《进一步规范管理燃煤自备电厂工作方案》发改体改〔2021〕1624号
- GB/T 43320-2023焊缝无损检测超声检测薄壁钢构件自动相控阵技术的应用
- 桥梁工程监理规划
- 语言行为教学(VB) 语言行为教学 婴幼儿应用行为分析教学课件
- 改性AC-13C生产配合比报告3
评论
0/150
提交评论