c++读取逗号分割的浮点数
时间: 2024-09-18 10:16:23 浏览: 6
在 C++ 中,读取逗号分割的浮点数通常涉及到字符串处理和`std::stringstream`或`std::getline`函数。以下是一个简单的例子,假设你有一个包含逗号分隔的浮点数的字符串:
```cpp
#include <sstream>
#include <vector>
std::vector<float> read_floats_from_string(const std::string& str) {
std::istringstream iss(str);
std::vector<float> numbers;
float num;
while (iss >> num) {
numbers.push_back(num);
// 如果还有逗号,继续读取下一个
if (iss.peek() == ',') {
iss.ignore(); // 忽略逗号
}
}
return numbers;
}
// 使用示例
int main() {
std::string input = "1.5, 2.0, 3.75";
std::vector<float> parsed_numbers = read_floats_from_string(input);
for (float f : parsed_numbers) {
std::cout << f << " ";
}
return 0;
}
```
这个函数会读取输入字符串中的每个数字,并将其添加到`std::vector`中,直到遇到非数字字符为止。注意这里我们使用了`peek()`函数检查下一个字符,如果是逗号就忽略它。