我有一个以空格分隔的文本文件,我需要从中提取单个单词以填充vector<string>
。
我尝试使用strtok
,但我知道这不起作用,因为strtok
会返回char pointer
。有没有办法从文件中提取单词,并用它们填充string vector
?谢谢!
答案 0 :(得分:5)
有“发烧友”的方式,但在我看来,以下是初学者最容易理解的(并且可作为变体的基础):
if (std::ifstream input(filename))
{
std::vector<std::string> words;
std::string word;
while (input >> word)
words.push_back(word);
}
答案 1 :(得分:2)
考虑使用ifstream
来读取文件。
然后,您可以使用>> operator
将下一个字移到string
。