c++如何在未给出字符串的数量且没有特定结束词的前提下读取多个字符串
时间: 2024-10-28 16:08:29 浏览: 7
C++读取带空格字符串的方法
在 C++ 中,如果要在未给出字符串数量且没有特定结束词的情况下动态读取多个字符串,可以使用循环和 getline 函数结合。getline 函数用于逐行读取输入流(如标准输入 cin),直到遇到换行符为止。以下是一个基本示例:
```cpp
#include <iostream>
#include <string>
#include <vector>
int main() {
std::vector<std::string> strings;
std::string input;
// 使用一个无限循环,直到用户手动停止(例如按 Ctrl+D 或 EOF)
while (std::getline(std::cin, input)) {
// 检查是否读到了空行,通常表示输入结束
if (input.empty()) {
break; // 如果为空行,跳出循环
}
// 将每个非空行添加到字符串向量中
strings.push_back(input);
}
// 现在你可以遍历 strings 向量,处理已经读取的所有字符串
for (const auto& str : strings) {
std::cout << "Read string: " << str << std::endl;
}
return 0;
}
```
在这个例子中,程序会一直等待用户的输入,每行作为一个字符串,直到用户不再输入或者按下 EOF 键(如在 Unix/Linux 下)。当遇到空行或EOF时,程序停止读取。
阅读全文