当前位置: 首页 > wzjs >正文

积极做好门户网站建设工作百度一下你就知道官方

积极做好门户网站建设工作,百度一下你就知道官方,河南省住房和城乡建设门户网站,给你一个网站怎么做的C语言文件操作学习笔记 目录 文件基本概念文件的打开与关闭文件的顺序读写文件的随机读写常用文件操作函数总结 文件基本概念 1. 什么是文件? 文件:存储在外部存储器(如硬盘)上的数据集合。输入输出流:数据像流水一…

C语言文件操作学习笔记


目录

  • 文件基本概念
  • 文件的打开与关闭
  • 文件的顺序读写
  • 文件的随机读写
  • 常用文件操作函数
  • 总结

文件基本概念

1. 什么是文件?

  • 文件:存储在外部存储器(如硬盘)上的数据集合。
  • 输入输出流:数据像流水一样从一处流向另一处,C语言将文件视为字符(字节)序列。

2. 文件分类

类型特点示例
文本文件以ASCII码形式存储,可读性强.txt, .c
二进制文件以二进制形式存储,节省空间.dat, .exe

3. 文件指针

  • FILE结构体:存储文件的详细信息(如文件名、状态、当前位置等)。
  • 定义文件指针
    FILE *fp;  // fp指向文件缓冲区的首地址
    

4. 文件缓冲区

  • 缓冲文件系统:系统为每个文件开辟内存缓冲区,数据先写入缓冲区,满后再写入外存。

文件的打开与关闭

1. 打开文件:fopen()

FILE *fopen(const char *文件名, const char *打开模式);
文件打开模式
模式说明
"r"只读,文件不存在则失败
"w"只写,文件存在则清空,不存在则创建
"a"追加写,文件不存在则创建
"r+"读写,文件必须存在
"w+"读写,文件存在则清空,不存在则创建
"a+"读与追加写,不存在则创建
"b"二进制模式(需与其他模式组合,如"rb", "wb"
示例:安全打开文件
FILE *fp;
if ((fp = fopen("test.txt", "r")) == NULL) {printf("无法打开文件!\n");exit(0);  // 终止程序
}

2. 关闭文件:fclose()

int fclose(FILE *fp);  // 成功返回0,失败返回EOF(-1)

文件的顺序读写

1. 字符读写函数

函数功能示例
fputc(c, fp)写入一个字符到文件fputc('A', fp);
fgetc(fp)从文件读取一个字符char c = fgetc(fp);
示例:复制文件内容
#include <stdio.h>
int main() {FILE *in = fopen("input.txt", "r");FILE *out = fopen("output.txt", "w");char c;while ((c = fgetc(in)) != EOF) {fputc(c, out);}fclose(in);fclose(out);return 0;
}

2. 字符串读写函数

函数功能示例
fgets(s, n, fp)从文件读取字符串(最多读n-1字符)fgets(buffer, 100, fp);
fputs(s, fp)将字符串写入文件fputs("Hello World", fp);

文件的随机读写

1. 文件指针定位函数

函数功能示例
fseek(fp, offset, 起始位置)移动文件指针到指定位置fseek(fp, 100L, SEEK_SET);
rewind(fp)将文件指针重置到文件开头rewind(fp);
ftell(fp)返回当前指针位置(字节数)long pos = ftell(fp);
起始位置常量
  • SEEK_SET(0):文件开头
  • SEEK_CUR(1):当前位置
  • SEEK_END(2):文件末尾

2. 示例:随机读取学生数据

#include <stdio.h>
struct Student {char name[20];int age;
};int main() {FILE *fp = fopen("students.dat", "rb");struct Student s;// 读取第3个学生的数据(索引从0开始)fseek(fp, 2 * sizeof(struct Student), SEEK_SET);fread(&s, sizeof(struct Student), 1, fp);printf("姓名:%s,年龄:%d\n", s.name, s.age);fclose(fp);return 0;
}

常用文件操作函数

1. 数据块读写函数

函数功能示例
fread(buffer, size, count, fp)从文件读取数据块fread(&stu, sizeof(Student), 1, fp);
fwrite(buffer, size, count, fp)向文件写入数据块fwrite(&stu, sizeof(Student), 1, fp);

2. 文件结束判断:feof()

while (!feof(fp)) {  // 循环直到文件结束// 读取操作
}

总结

关键知识点

  1. 文件操作步骤:打开 → 操作 → 关闭。
  2. 打开模式"r""w""a"等需根据需求选择。
  3. 顺序读写:逐个字符或字符串处理。
  4. 随机读写:通过fseek定位指针,直接访问任意位置。
  5. 二进制文件:适合存储结构体等复杂数据。

注意事项

  • 错误处理:始终检查文件是否成功打开。
  • 缓冲区刷新:关闭文件前确保数据写入外存。
  • 指针管理:避免越界操作导致数据损坏。

练习题:编写程序,从键盘输入5个学生的信息(姓名、年龄),保存到文件students.dat中,并读取第3个学生的信息显示在屏幕上。

http://www.dtcms.com/wzjs/195061.html

相关文章:

  • 泰国做企业网站专业软文代写
  • 装饰网站建设方案百度免费下载安装百度
  • 网站原型图软件企业宣传片视频
  • 医院网站建设方案招标文件google推广
  • wordpress5.0版本恢复到旧版本网站优化是什么意思
  • 宁波设计网站公司网络营销课程总结1500字
  • 商场设计与商品陈列郑州seo优化服务
  • 百度推广官方网站域名注册阿里云
  • 自己做盗号网站站长工具箱
  • 西安小程序制作百度seo词条优化
  • 网站建设好的nba中国官方网站
  • 禁止下载app网站要怎么网络做推广
  • 怎样在网站做转向连接桔子seo工具
  • 巩义网站建设哪家专业站长之家 seo查询
  • 网站开发ppt转h5江门网站建设
  • 有没有做.net面试题的网站百度打开
  • 怎么靠做网站赚钱吗百度关键词排名靠前
  • 长沙专业做网站网站建设公司好
  • ae做模板下载网站广西关键词优化公司
  • 高仿做的最好的网站公司个人怎么做网络推广
  • wordpress mingle南昌seo建站
  • 企业建站一条龙关键词优化的最佳方法
  • 洪梅仿做网站制作网页
  • 在美国克罗格做网站怎样国外域名注册网站
  • 企业网站备案怎么做起名最好的网站排名
  • 企业网站制作怎么做网站优化公司哪家好
  • 海南城乡建设厅网站seo培训课程
  • 山河集团建设有限公司网站网络营销流程
  • 抖音里做我女朋友网站网站推广应该坚持什么策略
  • 制作企业网站的新闻投百度做广告效果怎么样