c++ cin连续读取一行数据,包含以空格分隔的多个字符串
时间: 2024-10-06 15:00:33 浏览: 157
c读取一行字符串,以及c++读取一行字符串的实例
在 C++ 中,你可以使用 `std::getline` 函数结合 `std::cin` 来连续读取一行数据,这行数据可以包含多个以空格分隔的字符串。`getline` 函数会读取到指定的换行符为止,而不是遇到第一个空格就停止。
下面是一个简单的示例:
```cpp
#include <iostream>
#include <sstream> // 使用 stringstream 进行处理
int main() {
std::string line;
std::getline(std::cin, line); // 读取一行直到遇到换行符
std::istringstream iss(line); // 创建一个istringstream对象来解析输入流
std::string token; // 存储分割后的每个字符串
while (iss >> token) { // 当还有更多的令牌可用时循环
std::cout << "Token: " << token << "\n";
}
return 0;
}
```
在这个例子中,`token` 变量会被依次填充每一个从输入行中分离出来的单词,直到无法再获取更多。如果你需要更复杂的处理,例如处理逗号、冒号等分隔符,你还可以使用正则表达式或者其他字符串处理库。
阅读全文