c++ 文件的输入输出流
2012-09-03 16:51
218 查看
翻译自:http://www.cplusplus.com/doc/tutorial/files/
c++提供了下列的类用来处理文件的输入输出:
ofstream:处理文件输出流的类
ifstream:处理文件输出流的类
fstream:同时处理文件输入输出的类
这些类直接或间接地衍生自istream或ostream类,我们已经在前面学习过这些类,我们使用了他们的对象cin,cout。我们可以像使用cin,cout一样来操作我们的文件流。不同的是,我们处理的是物理设备上的文件。让我们瞧一下下面的例子。
这个程序创建了一个叫做"example.txt"的文件,并且写入了一串字符。
我们一步一步的向下进行:
打开一个文件
创建一个与文件关联的对象。并使用open函数打开文件。
open(filename,mode)
filename在这里不在赘述,重点介绍一下mode:
可以逻辑运算符OR(|)合并标志(mode)位,如下:
文件处理的三个类中有一个默认的标志位,如下:
我们也可以采用以下的方式进行打开文件,可以完美合并open函数跟构造函数。
打开完成之后,我们可以使用如下方式测试问价是否打开成功:
关闭文件
文本文件流
文本文件流是在标志中不含有ios:binary的文件流,它 的大致输入输出如下:
输入:
输入:
测试状态:
除了good()检查状态,还有其他的一些测试函数。
bad()
fail()
eof()
good()
功能不在此处多说了!
获取和设置流指针:
未完待续
c++提供了下列的类用来处理文件的输入输出:
ofstream:处理文件输出流的类
ifstream:处理文件输出流的类
fstream:同时处理文件输入输出的类
这些类直接或间接地衍生自istream或ostream类,我们已经在前面学习过这些类,我们使用了他们的对象cin,cout。我们可以像使用cin,cout一样来操作我们的文件流。不同的是,我们处理的是物理设备上的文件。让我们瞧一下下面的例子。
// basic file operations #include <iostream> #include <fstream> using namespace std; int main () { ofstream myfile; myfile.open ("example.txt"); myfile << "Writing this to a file.\n"; myfile.close(); return 0; }
这个程序创建了一个叫做"example.txt"的文件,并且写入了一串字符。
我们一步一步的向下进行:
打开一个文件
创建一个与文件关联的对象。并使用open函数打开文件。
open(filename,mode)
filename在这里不在赘述,重点介绍一下mode:
ios::in | 为输入打开 |
ios::out | 为输出打开 |
ios::binary | 以二进制打开 |
ios::ate | 打开文件,并移至文件尾部 |
ios::app | 追加的文件结尾 |
ios::trunc | 如果问价存在,则截断文件 |
ofstream myfile; myfile.open ("example.bin", ios::out | ios::app | ios::binary);
文件处理的三个类中有一个默认的标志位,如下:
class | default mode parameter |
---|---|
ofstream | ios::out |
ifstream | ios::in |
fstream | ios::in | ios::out |
ofstream myfile ("example.bin", ios::out | ios::app | ios::binary);
打开完成之后,我们可以使用如下方式测试问价是否打开成功:
if (myfile.is_open()) { /* ok, proceed with output */ }
关闭文件
myfile.close();
文本文件流
文本文件流是在标志中不含有ios:binary的文件流,它 的大致输入输出如下:
输入:
// writing on a text file #include <iostream> #include <fstream> using namespace std; int main () { ofstream myfile ("example.txt"); if (myfile.is_open()) { myfile << "This is a line.\n"; myfile << "This is another line.\n"; myfile.close(); } else cout << "Unable to open file"; return 0; }
输入:
// reading a text file #include <iostream> #include <fstream> #include <string> using namespace std;int main () { string line; ifstream myfile ("example.txt"); if (myfile.is_open()) { while ( myfile.good() ) //处于就绪状态 { getline (myfile,line); cout << line << endl; } myfile.close(); } else cout << "Unable to open file"; return 0; }
测试状态:
除了good()检查状态,还有其他的一些测试函数。
bad()
fail()
eof()
good()
功能不在此处多说了!
获取和设置流指针:
未完待续
相关文章推荐
- C++风格的文件输入输出流
- C++“输入输出流与文件系统”
- C++ 文件输入输出流的小练习 20180319 day10
- C++ 输入输出流 文本文件 二进制文件读写
- C++的输入输出流、文件操作
- C++提高 10(标准输入,输出流,文件io流)
- C++文件输入输出流的一点经验
- c++输入输出流读取文件
- c++ 第八章 输入输出流和文件
- c++学习笔记01-输入输出流&&文件输入输出操作
- C++ 输入输出流和文件输入输出流
- C++文本文件处理示例(文件输入输出流)
- C++输入输出流(文件的操作)
- C++的输入输出流、文件操作
- C++的输入输出流、文件操作
- C++风格的文件输入输出流
- 2013级C++第15周(春)项目——输入输出流及文件文件操作
- 2013级C++第15周(春)项目——输入输出流及文件文件操作
- c++输入输出流操作笔记
- C++中的文件输入/输出