七、文件
来源:互联网 发布:淘宝图片一键搬家 编辑:程序博客网 时间:2024/05/05 23:58
七、文件(使用 Python 更好用)
1. 文件概述
文件是存储在外存储器(如,硬盘)上用文件名标识的数据的集合,它可以永久地存储数据。一个文件有唯一的文件标识,包括文件路径、主文件名、文件后缀(扩展名)。
- C/C++文件
- C语言文件处理的关键是定义一个文件指针,通过该指针对文件的打开、读写、关闭等进行操作。 按照数据的组织形式,C语言文件分为文本文件(又称ASCII码文件,一个字节代表一个字符,所以可以直接编辑和显示)和二进制文件。
- C++语言的文件处理则是在定义一个输入输出流类对象的基础上,通过封装在输入输出流类内部的成员函数实现对文件的操作。
- 一般来说,处理数据文件的程序由3个步骤组成:打开文件、进行读/写操作、关闭文件。
- C语言没有自己的输入输出语句,对文件的处理是通过调用标准的输入/输出库函数实现的。
- 文件指针
FILE *文件指针标识符; eg:FILE *fp1, *fp2;
- 定义两个文件指针fp1和fp2,再通过fopen函数使得他们能够分别指向各自的文件缓冲区,程序就可以利用他们来访问文件。
- 保存数据到文件
- fopen:打开文件
FILE* fopen(const char* filename, const char* mode); // 返回一个文件指针
eg: const char* filename = "E:\\hello.txt"; FILE* fp = fopen(filename, "wb"); //注意:fp 要先声明其类型(文件指针类型), 然后再把返回的文件指针赋值给fp
- fwrite:写入数据
size_t fwrite(const void* buf, size_t size, size_t count, FILE *stream);
// 返回字节数- buf:要写入数据的首地址;size:总是传1;count:要传入的字节数;stream:前面fopen的返回值
eg: char buf[] = "hello"; fwrite(buf, 1, 5, fp);
- fclose :关闭文件
int fclose(FILE* stream); // stream 就是前面fopen 的返回值
eg: fclose(fp);
- fopen:打开文件
2. 多文件操作
- extern 的作用: 告诉编译器,在某个cpp文件中,存在这么一个函数/全局变量,但全局变量的声明语句是不能加初始值的。
- extern 存在的意义:使程序模块化,可以使得多人协作变得更简单,不同的人编辑不同的cpp文件。
- 头文件里一般包含以下内容:
#include "head.h" // #include 称为“预处理命令”
- 公用的类型定义:如果一个类型要在多个cpp文件中使用,可以放在头文件里。
- extern 函数/变量声明
- 嵌入包含其他头文件
- 头文件与源文件的分离
// 类型定义写在头文件Object.h里// 不一定要把所有函数定义都拿出来,也可以只拿一部分出来class Object {public: int x; void Test(); // 成员函数的声明};// 函数实现写在源文件Object.cpp里void Object::Test() // 成员函数写在外边,加上类名限定(Object::){ printf("x is %d \n", x); // 仍然可以省略this->}
0 0
- 七、文件
- 重命名文件目录(七)
- 七牛文件上传
- 七、C++ 文件操作
- Java基础知识-文件(七)
- 文件IO编程七
- 七:忽略特殊文件
- 七、Git-删除文件
- 七牛上传文件
- perl学习笔记七----文件
- perl学习笔记七----文件
- 实验七文件的输入输出
- (七)Struts2文件上传
- apue读书笔记【七】:文件共享
- 源码管理七:删除文件
- 七牛 PHP 文件管理
- 七牛上传文件 图片
- 七.文件阅读的命令
- Thinkphp模块配置
- Hibernate框架基础——Hibernate API及Hibernate主配置文件
- Nodejs核心模块 PART1
- HDU5912-Fraction
- gcc4.8.4 升级gcc4.9.4
- 七、文件
- 混合图求欧拉回路——Sightseeing tour ( POJ 1637 )
- c++第二周中
- 指针和数组的一些问题
- 8、9月训练总结
- Android 滴答天气
- Nodejs核心模块 PART2
- 社区划分算法
- HDU 5512 Pagodas(分析)