我真的很感激这里的帮助。我需要使用输入文件中的文本填充字符串向量的向量。我真的不知道如何开始。
我在一个函数中有这样的东西来读取单词,但我不断收到一个编译器错误,说我不能推回一个字符串,所以我知道我在错误的轨道上。非常感谢任何帮助。
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);
}
答案 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