怎么把文本文件中的字符串放进vector中
如何把文本文件中的字符串放进vector中?
我想把文本文件中的字符串放进vector中,文本的格式是:
4 2006-10-20 09:34:24.155 4832
代码如下:
#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;
迭代器放到使用之前,不然中间进行了插入删除操作,迭代器失效
------解决方案--------------------
迭代器失效了。
我想把文本文件中的字符串放进vector中,文本的格式是:
4 2006-10-20 09:34:24.155 4832
代码如下:
#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;
迭代器放到使用之前,不然中间进行了插入删除操作,迭代器失效
------解决方案--------------------
迭代器失效了。