【发布时间】:2021-12-23 05:32:33
【问题描述】:
我尝试在互联网上查找,但没有看到答案。
所以我必须用多个单词来输入一个字符,例如“汽车有四个轮子”。我需要接受每一个字并找出他。我在学校了解到你可以这样做:
char a[100][20];
cin.getline(a, 100);
但它不起作用。用空格分隔多个单词的字符的正确方法是什么;
【问题讨论】:
标签: c++ visual-studio
我尝试在互联网上查找,但没有看到答案。
所以我必须用多个单词来输入一个字符,例如“汽车有四个轮子”。我需要接受每一个字并找出他。我在学校了解到你可以这样做:
char a[100][20];
cin.getline(a, 100);
但它不起作用。用空格分隔多个单词的字符的正确方法是什么;
【问题讨论】:
标签: c++ visual-studio
您可以尝试使用std::istringstream 来解析单词。
std::vector<std::string> word_database;
std::string text_line;
while (std::getline(std::cin, text_line))
{
std::string word;
std::istringstream text_stream(text_line);
while (text_stream >> word)
{
word_database.push_back(word);
}
}
在上面的代码中,在text_line变量中输入了一行文本。
istringstream 是使用文本行创建的。使用operator>> 从文本流中提取“单词”。单词被附加到数据库中。
【讨论】: