文件输入输出
头文件fstream定义了三个类型来支持文件IO:
1、ifstream从一个给定文件读取数据;
2、ofstream型一个给定文件写入数据;
3、fstream可以读写一个文件。
这些类型提供的操作于之前使用过的对象cin和cout的操作是一样的。可以用IO运算符<<和>>来读写文件,可以用getline从一个ifstream读取数据,等等。
除了继承自iostream类型的行为之外,fstream还有其他定义操作:
| fstream fstrm | 创建一个未绑定的文件流.fstream是头文件fstream中定义的一个类型 |
| fstream fstrm(s) | 创建一个fstream,并打开名为s的文件。s可以是string类型,或者是一个指向C风格字符串指针。这些构造函数都是explict的。默认的文件模式mode以来于fstream |
| fstream fstream(s,mode) |
与前一个构造函数类似,但按指定mode打开 |
| fstrm.open(s) | 打开一个名为s的文件,但将文件与fstrm绑定。s可以是string类型,或者是一个指向C风格字符串指针。这些构造函数都是explict的。默认的文件模式mode以来于fstream |
| fstrm.close() | 关闭与fstrm绑定的文件。返回void |
| fstrm.is_open() | 返回一个bool值,指出与fstrm关联的文件是否成功打开且尚未关闭 |
int main() { ifstream input; input.open("/home/quzhang/CLionProjects/test/vis.log"); ofstream output; output.open("/home/quzhang/CLionProjects/test/vis.text"); assert(input.is_open()); string strLine; while (getline(input, strLine)) { if (!strLine.empty() && !strLine.find("hui_su_ceng : ")) { output << strLine.substr(14) << endl; } } input.close(); output.close(); }
浙公网安备 33010602011771号