C++第十五课 文件
2015-11-26 22:39
260 查看
一、文件概述
1.文件:文件代表长久存储在外存(如硬盘、磁盘或U盘等)中的数据集合体。C ++程序中,文件的存储空间由字节组成。
2.分类:
文本文件:其内每个字节存放的是(字符的)ASCII码(对于汉字,使用双字节编 码)。
二进制文件:某些或全部字节的内容不是(字符的)ASCII码。不是文本文件的, 就是二进制文件。
3.C++源程序是文本文件
在Windows系统中,每一行的尾部存储两个字符“\r\n”,即回车符和换行符。
在Unix, Linux系统中,每一行尾部存储一个字符’\r’,即换行符。
二、C++程序访问文件的方法
1.#include <fstream> //含文件操作函数的头文件。
头文件fstream中定义了三个文件流类:
ifstream类——当仅从文件输入内容时使用
ofstream类——当仅向文件输出内容时使用
fstream类——既从文件输入也向文件输出内容时使用
文件流是以外存文件为输入输出对象的数据流。若要对磁盘文件输入输出, 就必须通过文件流来实现。
要以磁盘文件为对象进行输入输出,必须定义一个文件流类的对象,通过文 件流对象将数据从内存输出到磁盘文件,或者通过文件流对象从磁盘文件将数据 输入到内存。
2.ofstream outfile("f1.txt",ios::out); //定义文件流对象,打开磁盘文 件"f1.txt"
ofstream 文件流类
outfile 文件流对象
"f1.txt" 文件路径参数(用于指定文件在外存中的位置)
ios::out 文件打开方式参数
(1)相对路径:以可执行程序所在文件夹为基准点的文件路径。
"data\\f1.txt" //位置:执行程序所在文件夹\data\f1.txt
(2)绝对路径:以盘符为基准点的文件路径。
"d:\\data\\f1.txt" //位置:d:\data\f1.txt
3.outfile<<a[i]<<"\t"; //向"f1.txt"输出数据
4.outfile.close(); //关闭磁盘文件"f1.txt"
三、对文本文件的操作
outfile<<与cout<<的区别在于前者输出至文件,后者至屏幕。
infile>>与cin>>的区别在于前者从文件输入,后者从键盘输入。
注意:对于文本文件,不支持同时可读可写(ios::in | ios::out)
四、对二进制文件的操作
1.用成员函数read和write读写二进制文件。
istream& read(char *buffer, int len); //指针*buffer指向内存 中一块区域,用于存储读入的内容;len表示读入内容的字节数
ostream& write(const char * buffer,int len); //指针*buffer指向内存 中一块区域,其中存储的内容将被写入文件;写入内容的字节数
2.要跳着读/写文件,需控制文件位置指针。可用seekg/seekp函数来向前或向后移动位置指针。
1.文件:文件代表长久存储在外存(如硬盘、磁盘或U盘等)中的数据集合体。C ++程序中,文件的存储空间由字节组成。
2.分类:
文本文件:其内每个字节存放的是(字符的)ASCII码(对于汉字,使用双字节编 码)。
二进制文件:某些或全部字节的内容不是(字符的)ASCII码。不是文本文件的, 就是二进制文件。
3.C++源程序是文本文件
在Windows系统中,每一行的尾部存储两个字符“\r\n”,即回车符和换行符。
在Unix, Linux系统中,每一行尾部存储一个字符’\r’,即换行符。
二、C++程序访问文件的方法
1.#include <fstream> //含文件操作函数的头文件。
头文件fstream中定义了三个文件流类:
ifstream类——当仅从文件输入内容时使用
ofstream类——当仅向文件输出内容时使用
fstream类——既从文件输入也向文件输出内容时使用
文件流是以外存文件为输入输出对象的数据流。若要对磁盘文件输入输出, 就必须通过文件流来实现。
要以磁盘文件为对象进行输入输出,必须定义一个文件流类的对象,通过文 件流对象将数据从内存输出到磁盘文件,或者通过文件流对象从磁盘文件将数据 输入到内存。
2.ofstream outfile("f1.txt",ios::out); //定义文件流对象,打开磁盘文 件"f1.txt"
ofstream 文件流类
outfile 文件流对象
"f1.txt" 文件路径参数(用于指定文件在外存中的位置)
ios::out 文件打开方式参数
(1)相对路径:以可执行程序所在文件夹为基准点的文件路径。
"data\\f1.txt" //位置:执行程序所在文件夹\data\f1.txt
(2)绝对路径:以盘符为基准点的文件路径。
"d:\\data\\f1.txt" //位置:d:\data\f1.txt
3.outfile<<a[i]<<"\t"; //向"f1.txt"输出数据
4.outfile.close(); //关闭磁盘文件"f1.txt"
三、对文本文件的操作
outfile<<与cout<<的区别在于前者输出至文件,后者至屏幕。
infile>>与cin>>的区别在于前者从文件输入,后者从键盘输入。
注意:对于文本文件,不支持同时可读可写(ios::in | ios::out)
四、对二进制文件的操作
1.用成员函数read和write读写二进制文件。
istream& read(char *buffer, int len); //指针*buffer指向内存 中一块区域,用于存储读入的内容;len表示读入内容的字节数
ostream& write(const char * buffer,int len); //指针*buffer指向内存 中一块区域,其中存储的内容将被写入文件;写入内容的字节数
2.要跳着读/写文件,需控制文件位置指针。可用seekg/seekp函数来向前或向后移动位置指针。
相关文章推荐
- Mac终端编写c语言程序方法
- 输出100~200之间的素数
- C++ lambda algorithm
- C++指针与引用(三):引用使用注意事项
- C++中的Observer模式
- 对字符串中所有指定的子串进行替换
- C++ htons(), htonl(), ntohs(), ntohl()详解
- 【C语言】求带环单链表的环长
- 【C语言】找带环单链表的环入口
- C语言中三种常见排序算法分析
- 【C语言】判断单链表是否带环
- ubuntu安装lamp&&mysql中修改配置文件显示中文&&强大的vim配置&&c++连接Mysql
- 【C语言】删除任意一个节点n(不知道头结点,且所删节点既不是头结点也不是尾节点)
- c++11 async 的自带参数使用
- 顺序栈,C++基本实例应用
- C++内存分配原则方法
- c++11使用 async异步函数并传递参数以及auto的使用方法
- C++指针与引用(二):常用const指针,增强程序的健壮性
- C++设计模式[二十]策略模式
- 【程序设计基础_C语言】北理工的恶龙