Q:实现将文本文件的数字保存到vector或list中
A:
#include <fstream>
#include <vector>
#include <list>
usign namespace std;
int main()
{
ifstream dataFile("data.dat");
istream_iterator<int> dataBegin(dataFile);
istream_iterator<int> dataEnd;
// 其中一种赋值方式
vector<int> vecData;
vecData.assign(dataBegin, dataEnd);
// 另一种赋值方式
vector<int> vecData1(dataBegin, dataEnd);
return 0;
}
这是阅读Effective STL后get到的一个新知识点:利用迭代器和区间成员函数实现读取文本文件,不过其只能以空格为分隔符读取文本文件的内容,所以如果要想以其他字符为分隔符读取文本文件的内容,则需要调用ifstream的getline方法:
//自己定义停止符delim
istream& getline (char* s, streamsize n, char delim );
PS:data.dat内容
1 2 3 4 5 6