在VS中怎么读取一行以逗号分隔的正整数列表的输入,例如1,2,3,4
时间: 2024-09-08 16:04:25 浏览: 70
在Visual Studio (VS) 中,你可以使用`std::getline`函数结合`std::stringstream`来读取用户通过标准输入流(如控制台)提供的以逗号分隔的正整数列表。这里是一个简单的步骤示例:
1. 包含必要的头文件:
```cpp
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
```
2. 定义一个函数来解析输入:
```cpp
vector<int> readIntegersFromLine(const string& input) {
vector<int> numbers;
stringstream ss(input);
string token;
while (getline(ss, token, ',')) { // 以逗号作为分隔符读取
if (token.empty()) continue; // 检查是否为空格或其他非数字字符
try {
int number = stoi(token); // 将字符串转换为int
if (number > 0) numbers.push_back(number); // 只保留正整数
} catch (...) {
cout << "Invalid integer found: " << token << endl;
}
}
return numbers;
}
```
3. 主程序调用该函数获取用户输入并显示结果:
```cpp
int main() {
string line;
cout << "Please enter a comma-separated list of positive integers: ";
getline(cin, line);
vector<int> numbers = readIntegersFromLine(line);
for (const auto& num : numbers) {
cout << num << " ";
}
return 0;
}
```
当你运行这个程序时,它会提示你输入一系列以逗号分隔的正整数。
阅读全文