C语言-09-文件操作
2016-02-17 09:09
281 查看
文件类型
文本文件(ASCII)简单的文本文件,可用任何文字处理程序阅读
二进制文件
包含 在ASCII及扩展ASCII字符中编写的数据或程序指令 的文件,通常图形文件及文字处理程序等计算机程序都属于二进制文件
文件访问模式
文本文件“r”
打开一个已有的文本文件,允许读取文件
“w”
打开一个文本文件,允许写入文件。若文件不存在,则创建一个新的文件
“a”
打开一个文本文件,以追加模式写入文件。若文件不存在,则创建一个新的文件
“r+”
打开一个文本文件,允许读写文件
“w+”
打开一个文本文件,允许读写文件,文件会被截断为0长度。若文件不存在,则创建一个新的文件
“a+”
打开一个文本文件,允许读写文件。从头读取,追加写入。若文件不存在,则创建一个新的文件
二进制文件(对应于文本文件访问模式)
“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++ 公有继承,私有继承和保护继承
- C++ virtual 关键字总结
- C++ protected 访问控制
- c语言结构体用法
- C语言结构体内存对齐(计算结构体内存大小)
- c语言笔试题总结2
- 程序设计第三次作业---C++计算器雏形
- c++编译器何时会生成默认构造函数
- 折半查找法
- hdu 5470 Typewriter
- 冒泡、鸡尾酒、选择、插入、归并、快速排序的C++程序
- C语言深度解剖学习笔记
- C++纯虚函数与抽象类
- C++虚析构函数
- x265-1.8版本-encoder/weightPrediction.cpp注释
- c++对象内存布局模型
- C++语言之类class
- C++语言之类class
- 杂谈之C++中的“错误”处理
- C++语言之类class