我被困在家庭作业上。我必须从文件中读取文本,将每个单词分配到内存,然后使用指针将其发送到vector<string*>
. 我的程序不断用文件中的新词覆盖向量,而不是仅仅添加它。我无法弄清楚为什么会这样。
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
void WordFunctions(string *pstr, vector<string*> &words)
{
words.push_back(pstr);
}
int main(){
ifstream file;
vector<string*> a;
string word;
int w =0;
file.open("word.txt");
while (!file.eof())
{
w++;
file >> word;
WordFunctions(&word, a);
}
file.close();
for (int i=0;i<10;i++){
cout<<(*a[i])<<" ";
delete a[i];
}
system ("pause");
}