c++如何实现不定长输入
时间: 2024-11-30 12:20:56 浏览: 39
在C++中,实现不定长输入通常涉及到动态内存管理,特别是当你要处理用户不确定数量的数据类型时,比如一串数字或者字符串列表。这里以字符串为例,我们可以使用`std::vector`容器结合`std::getline`来实现:
```cpp
#include <iostream>
#include <string>
#include <vector>
std::vector<std::string> getUnlimitedInput() {
std::vector<std::string> inputStrings;
std::string line;
while (std::getline(std::cin, line)) { // 只要用户不停止输入,就继续读取
inputStrings.push_back(line); // 将每条输入添加到vector中
}
return inputStrings;
}
int main() {
std::vector<std::string> userInputs = getUnlimitedInput();
for (const auto& input : userInputs) {
std::cout << "User entered: " << input << std::endl;
}
return 0;
}
```
这个程序中,`getUnlimitedInput`函数通过一个无限循环持续从标准输入读取,直到用户按下Ctrl+D(在Linux和Unix系统)或Ctrl+Z(在Windows系统)。每次读取一行,然后将这一行加入到`vector`中,这样就可以存储任意长度的字符串序列了。
阅读全文