c++读取string中逗号分割的浮点数,并用a,b接收
时间: 2024-09-18 09:16:30 浏览: 37
C++中的stringstream类:深入教学与实践
在C++中,如果你想要从一个字符串中按逗号分隔读取浮点数,并将它们存储到两个变量`a`和`b`中,你可以这样做:
```cpp
#include <iostream>
#include <sstream>
// 假设输入的字符串是 "1.5,2.7"
std::string input = "1.5,2.7";
float a, b;
// 使用stringstream解析字符串
std::istringstream iss(input);
iss >> a; // 读取第一个浮点数,这里是1.5
if (iss) {
iss >> b; // 如果第一次读取成功,继续读第二个,这里是2.7
} else {
std::cout << "Failed to parse all numbers from the string." << std::endl;
}
// 检查是否都成功读取
if (iss.fail()) {
std::cerr << "Error: Unexpected characters after parsing." << std::endl;
}
// 打印结果
std::cout << "a: " << a << ", b: " << b << std::endl;
```
这个例子假设输入字符串格式正确,即只包含逗号分隔的数字。如果输入有误,如非浮点数字符、不足的元素或多余的元素,程序会捕获错误。
阅读全文