c++如何读取一串数目不确定的int型数据到数组中直到换行符结束
时间: 2024-11-09 15:17:24 浏览: 10
用c++写的统计英文文章中的单词个数
5星 · 资源好评率100%
在 C++ 中,如果你想从标准输入流(如控制台)读取一串数目不确定的整数并存储在一个动态数组中,可以使用`std::cin`和`getline`函数配合`std::vector`。这是因为`std::vector`能够自动调整大小,适合存储动态元素。这里是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
#include <sstream>
std::vector<int> readIntegersFromConsole() {
std::vector<int> numbers;
int num;
std::string input;
// 读取直到遇到换行符
while (std::getline(std::cin, input)) {
// 使用istringstream将字符串转换成整数
std::istringstream iss(input);
while (iss >> num) {
// 如果成功读取了整数,则添加到vector中
numbers.push_back(num);
}
}
return numbers;
}
int main() {
auto numbers = readIntegersFromConsole();
for (const auto& n : numbers) {
std::cout << n << " ";
}
std::cout << std::endl; // 打印所有数字
return 0;
}
```
在这个程序中,我们首先创建了一个空的`std::vector<int>`,然后使用`std::getline`逐行读取用户的输入。对于每一行,我们将内容放入`std::istringstream`中,通过`iss >> num`连续提取整数,直到无法再读取为止。每个整数都添加到`numbers`向量中。
阅读全文