读书人

怎么把文本文件中的字符串放进vector中

发布时间: 2012-03-07 09:13:51 作者: rapoo

如何把文本文件中的字符串放进vector中?
我想把文本文件中的字符串放进vector中,文本的格式是:

4 2006-10-20 09:34:24.1554832

代码如下:
#include <string>
#include <vector>
#include <iostream>
#include <fstream>

using namespace std;

int main(int argc, char* argv[])
{
const char* filename= "C:\\3.txt "; //3.txt是文件名
vector <string> words;
vector <string> ::const_iterator iter = words.begin();
vector <string> ::const_iterator iter_end = words.end();
string aprime = " ";

ifstream inFile(filename);

if(!inFile)
{
cout < <endl < < "Failed to open file " < <filename;
return 1;
}
while(!inFile.eof())
{

inFile> > aprime;
words.push_back(aprime);


}
for (iter;iter!=iter_end;iter++)
cout < <*iter < <endl;

return 0;
}

为什么没有字符串输出呢?是不是没有字符串被压入到vector中?哪里错了?应该怎么改?谢谢。


[解决办法]
vector <string> ::const_iterator iter = words.begin();
vector <string> ::const_iterator iter_end = words.end();
for (iter;iter!=iter_end;iter++)
cout < <*iter < <endl;

迭代器放到使用之前,不然中间进行了插入删除操作,迭代器失效
[解决办法]
迭代器失效了。

读书人网 >C++

热点推荐