您的位置:首页 > 编程语言 > C语言/C++

【day0407 C++】文件流对象的应用

2016-04-07 20:33 501 查看
# 文件流对象的使用:

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;
}
输出:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: