C++ std::string转const double数组
时间: 2023-08-10 14:05:04 浏览: 173
你可以使用std::stod函数将std::string转换为double类型,然后将这些double值存储到const double数组中。下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
#include <vector>
int main() {
std::string str = "1.23 4.56 7.89";
std::vector<double> values;
std::string delimiter = " ";
size_t pos = 0;
std::string token;
while ((pos = str.find(delimiter)) != std::string::npos) {
token = str.substr(0, pos);
values.push_back(std::stod(token)); // 将字符串转换为double并添加到数组中
str.erase(0, pos + delimiter.length());
}
values.push_back(std::stod(str)); // 处理最后一个数值
const double* arr = values.data(); // 获取指向数组的指针
// 打印数组元素
for (size_t i = 0; i < values.size(); i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
这个示例代码将字符串"1.23 4.56 7.89"分割成三个double值,并将它们存储在values向量中。然后,通过调用values.data()获取指向const double数组的指针arr,并打印数组的元素。请确保在使用arr指针时不会超出其范围,并在不再需要时释放相关资源。
阅读全文