C语言-09-文件操作
文件类型
- 文本文件(ASCII)
- 简单的文本文件,可用任何文字处理程序阅读
- 二进制文件
- 包含 在ASCII及扩展ASCII字符中编写的数据或程序指令 的文件,通常图形文件及文字处理程序等计算机程序都属于二进制文件
文件访问模式
- 文本文件
- “r”
- 打开一个已有的文本文件,允许读取文件
- “w”
- 打开一个文本文件,允许写入文件。若文件不存在,则创建一个新的文件
- “a”
- 打开一个文本文件,以追加模式写入文件。若文件不存在,则创建一个新的文件
- “r+”
- 打开一个文本文件,允许读写文件
- “w+”
- 打开一个文本文件,允许读写文件,文件会被截断为0长度。若文件不存在,则创建一个新的文件
- “a+”
- 打开一个文本文件,允许读写文件。从头读取,追加写入。若文件不存在,则创建一个新的文件
- “r”
- 二进制文件(对应于文本文件访问模式)
- “rb” ~> “r”
- “wb” ~> “w”
- “ab” ~> “a”
- “rb+” ~> “r+”
- “r+b” ~> “r+”
- “wb+” ~> “w+”
- “w+b” ~> “w+”
- “ab+” ~> “a+”
- “a+b” ~> “a+”
文件操作流程
打开文件
// filename:文件路径名 mode:文件访问模式
FILE *fopen(const char * filename, const char * mode)
操作文件
读取文件
// 读取一个字符
int fgetc(FILE *fp)
// 读取 n-1 个字符(字符串后面有一个字符串结束标志,buf的长度为n)
char *fgets(char *buf, int n, FILE *fp)
// 在文件结束之前遇到空格,换行符,会提前终止
int fscanf(FILE *fp, const char format)
写入文件
// 写入一个字符
int fputc(int c, FILE *fp)
// 写入一个字符串
int fputs(const char *s, FILE *fp)
关闭文件
写入文件的内容,只有在调用fclose(FILE *fp)后,才会被写入到磁盘文件中
在关闭文件前,读取磁盘文件,无法读取文件的最新内容(写入但未保存的内容)
int fclose( FILE *fp )
示例
文件的简单操作
void fileOperation() {
// 打开文件, 若不存在,则会目录/Users/mac/Desktop/下创建一个文件file.text,访问模式为:读写
FILE *fwp = fopen("/Users/mac/Desktop/spring.txt", "r+");
// 写入 “春已暖,花已开,什么时候去看海” 到文件中
fputs("春已暖,花已开,什么时候去看海", fwp);
// 关闭文件,此处可以调试写入的内容是何时保存到磁盘文件的
fclose(fwp);
// 读取文件
FILE *frp = fopen("/Users/mac/Desktop/spring.txt", "r+");
char buffer[255];
fscanf(frp, "%s", buffer);
printf("文件的内容为:\n%s\n", buffer);
// 关闭文件
fclose(frp);
}
C语言-09-文件操作的更多相关文章
- C语言程序设计--文件操作
前言 这里尝试与Python对别的方法来学习C语言的文件操作,毕竟我是Pythoner. 文件打开与关闭 Python #因为是和C语言比对,所以不使用with filename = "/e ...
- C语言之文件操作08——总结
C程序的文件操作共涵盖7个例题,包括格式打印,文件读取,条件查找,矩阵的文件操作,数据格式输入及调用计算等内容. 文件操作使得程序有更强的拓展性,使其能够单独保存数据.这为程序的调试和优化打下了坚实的 ...
- C语言之文件操作
C语言之文件操作 在本节我们将会讲解有关文件的读写操作: 纲要: 一些需要掌握的知识点 文件名 文件类型 数据流 文件缓冲区 文件指针 与文件操作相关的一些函数 文件的打开及关闭 文件的顺序读写 文件 ...
- c语言_文件操作_FILE结构体解释_涉及对操作系统文件FCB操作的解释_
1. 文件和流的关系 C将每个文件简单地作为顺序字节流(如下图).每个文件用文件结束符结束,或者在特定字节数的地方结束,这个特定的字节数可以存储在系统维护的管理数据结构中.当打开文件时,就建立了和文件 ...
- c语言,文件操作总结
C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来 ...
- C语言的文件操作
在操作系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也被看成一个文件.对于这些文件的操作,等于是对普通文件的操作.例如,通常把显示器称为标准输出文件,printf就是想这个文件输出,把键盘 ...
- python day 09 文件操作
一 初识文件操作 使⽤用python来读写⽂文件是非常简单的操作. 我们使⽤用open()函数来打开⼀一个⽂文件, 获取到⽂文件句句柄. 然后通过⽂文件句句柄就可以进⾏行行各种各样的操作了了. 根据打 ...
- C#语言-07.文件操作
a. 文件操作:适用于相对简单的数据保存 i. 读写文件的步骤: . 创建文件流 . 创建读写器 . 读写文件 . 关闭读写器 . 关闭文件流 ii. FileStream(文件流),它主要用于读写文 ...
- Day 09 文件操作
什么是文件 文件是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位.文件的操作是基于文件,即文件的操作核心就是:读和写.也 就是只要我们想要操作文件就是对操作系统发起请求,然后由操作系统将用户或应 ...
- Linux下C语言的文件操作
代码: #include <stdio.h> #include <string.h> #include <fcntl.h> /*************基本的函数A ...
随机推荐
- bootstrap插件学习-bootstrap.tooltip.js
先看bootstrap-tooltip.js的结构 var Tooltip = function ( element, options ){} // 构造器 Tooltip.prototype ={} ...
- 三、Authentication & sessionid
客户在访问Django的某些敏感资料时,被要求需要先登录,客户通过/admin/login进行登录,客户登录成功后,Django给客户分配一个sessionid,后续的访问过程,客户端只需在http头 ...
- Hibernate中延迟加载和缓存
什么是延迟加载? 延迟加载是指当应用程序想要从数据库获取对象时(在没有设置lazy属性值为false),Hibernate只是从数据库获取符合条件的对象的OId从而生成代理对象,并没有加载出对象 访问 ...
- IntelliTrace简介
解决无法复现bug所使用的策略是在遇到bug时捕获尽可能多的信息,在使用IntelliTrace进行调试时可以充分利用这些信息.最令人称道的一个功能在于bug本身可以自动修复. 打开IntelliTr ...
- 0506团队项目-Scrum 项目1.0
题目 1.应用NABCD模型,分析你们初步选定的项目,充分说明你们选题的理由. 2.录制为演说视频,上传到视频网站,并把链接发到团队博客上. 团队项目选题 金融工具:复利计算与投资记录项目继续升级,开 ...
- 控制网页的Panel是否显示
在网页上有十二个Panel控件,默认状态是不显示的,根据当前月作为条件去控制对应的Panel控件显示. Insus.NET以下使用三种方法来实现它,先是第一种,使用FindControl方法 第二种方 ...
- 004_URL 路由 - 定制路由系统 & 使用区域
定制路由系统 路由系统是灵活可配置的,当然还可以通过下面这两种方式定制路由系统,来满足其他需求. 1. 通过创建自定义的RouteBase实现: 2. 通过创建自定义路由处理程序实现. 创建自定义 ...
- CMS如何提供XML格式的接口
在做APP的过程中,需要服务端的接口数据. 是用Json格式还是Xml格式呢,很多人会说还是xml习惯. 然而PHP更适合返回的还是json,php核心库中就包含了json编码的函数,可以直接将数组转 ...
- elasticsearch 之IK分词器安装
IK分词器地址:https://github.com/medcl/elasticsearch-analysis-ik 安装好ES之后就可以安装分词器插件了 记住选择ES对应的版本 对应的有版本选择下载 ...
- 环境搭建二 secureCRT配置
上一篇里面讲到了虚拟机安装,以及secureCRT的远程连接.此篇文章介绍secureCRT的配置. 颜色设置 参考 http://jingyan.baidu.com/article/a681b0 ...