从输入文件填充字符串向量的向量

时间:2016-05-29 03:51:47

标签: c++ string vector

我真的很感激这里的帮助。我需要使用输入文件中的文本填充字符串向量的向量。我真的不知道如何开始。

我在一个函数中有这样的东西来读取单词,但我不断收到一个编译器错误,说我不能推回一个字符串,所以我知道我在错误的轨道上。非常感谢任何帮助。

ifstream input(filename);

for (int i = 0; i < 4; i++)
{

  for (int j = 0; j < 4; j++)
  {
    string line;
    getline(input, line);
    stringstream temp(line);
    string tempWord;
    temp >> tempWord;
    words[i][j].push_back(tempWord);
  }

1 个答案:

答案 0 :(得分:0)

如果单词是vector<vector<string>>,则words[i][j]正在访问string。你可能要做的是words[i][j] = tempWord;string也有一个函数.push_back()但是需要char这就是为什么你得到的错误是你不能push_back一个字符串,push_back()为{{1} s用于将字符附加到字符串。另外,根据您声明string的方式,如果您没有提供尺寸,words可能会超出范围,更好的做法是words[i][j]。另外看看你的for循环我不确定你想要从你想要的文件中找到哪些单词,但是当前你的代码是,它将在文件的前16行中读取并将每个单词的第一个“单词”放入你的words[i].push_back(tempWord)对象。如果您的意图是使用字符串向量的向量,其中每个子向量是一行中的单词,那么下面的内容可能会更好。

words
相关问题