【day0407 C++】文件流对象的应用
2016-04-07 20:33
501 查看
# 文件流对象的使用:
1、将文件流对象绑定到文件上;
2、检查文件是否打开成功;
3、将文件流与新文件重新绑定;
4、清除文件流的状态,更好地操作新的文件流对象。
注意:文件名如果使用字符串,要用c风格字符串,或者转化(str.c_str()).
Demo1:
输出:
Demo2:
1、将文件流对象绑定到文件上;
2、检查文件是否打开成功;
3、将文件流与新文件重新绑定;
4、清除文件流的状态,更好地操作新的文件流对象。
注意:文件名如果使用字符串,要用c风格字符串,或者转化(str.c_str()).
Demo1:
#include <iostream> #include <fstream> using namespace std; /*文件流对象的使用*/ int main() { ofstream outFile("test.txt"); outFile << "wo le ge cao\nni ge dan dan!"; outFile.close(); string fileName("main.cpp"); //必须是风格字符串 ifstream inFile(fileName.c_str()); /// ifstream infile; 没有绑定文件 /// infile.open(file.c_str()); //绑定 //逐个读取 cout << "第二次读取文件:\n"; string str; while (inFile >> str ){ cout << str << endl; } inFile.close(); //inFile流状态:EOF inFile.clear(); //恢复流状态,才能更好操作新的文件 //逐个读取 inFile.open("test.txt"); cout << "\n第二次读取文件:\n\n"; while (inFile >> str){ cout << str << endl; } inFile.close(); inFile.clear(); return 0; }
输出:
Demo2:
#include <iostream> #include <fstream> #include <string> #include <vector> using namespace std; int main() { string str; vector<string> file; file.push_back("one.txt"); file.push_back("two.txt"); file.push_back("three.txt"); //使用迭代器 vector<string>::const_iterator it = file.begin(); while (it != file.end()){ ifstream inFile(it->c_str()); if (!inFile){ //打开失败 cerr << "Error: can not open file: " << *it << endl; ++it; continue; } while (inFile >> str){ cout << str << " "; } cout << endl; ++it; inFile.close(); inFile.clear(); } return 0; }输出:
相关文章推荐
- 第五周作业 关于C语言的问卷调查
- 大话设计模式C++版——装饰模式
- 关于C++中getline()函数的一个陷阱
- C++单向链表之删除节点
- c语言的知识与能力自评
- C语言参数传递
- C++服务器(六):socket 异步模型与select 的实现
- C++实验三--个人所得税计算器
- C++实现——卡特兰数列及其应用
- (C++) Include 文件
- 一个关于时间的静态变量的应用
- 一个关于时间的静态变量的应用
- 一个关于时间的静态变量的应用
- 一个关于时间的静态变量的应用
- 一个关于时间的静态变量的应用
- C语言问卷调查
- c#调用C++的DLL找不到入口点以及衍生的相关问题
- C语言问卷调查
- C++虚函数与虚函数表
- C语言的问卷调查