gpt4 book ai didi

c++ - 在 C++ 中的 push_back 之前将字符串转换为 float

转载 作者:行者123 更新时间:2023-11-28 02:58:52 25 4
gpt4 key购买 nike

我收集了大量的 CSV 行,我将逐行拆分,用逗号分隔,然后将这些标记放在一个 vector 中。

这是我处理该句子中最后两项的小代码片段:

//token for parser
string token;

//turn into a string stream
istringstream ss(line);

//ye olde vector to put things in
std::vector<float> lineContainer;
while(getline(ss, token, ','))
{
lineContainer.push_back(::atof(token));
}

当我尝试编译时,我得到以下信息:

Error: cannot convert 'std::string' to "const char*' for argument '1' to 'double atof(const char*)'.

换句话说,将字符串转换为 float 是不行的,至少我是这样做的。

如何将此数据类型转换为 float ?我认为这会很简单,但我在 C++ 方面非常缺乏经验(我保证在 C# 方面要好得多)并且还没有捕获我认为在其他语言中理所当然的事情的所有细微差别。

最佳答案

tokenstd::string 类型。 atof 采用 c 字符串或 const char* 指针指向以 nul 结尾的字符数组。

lineContainer.push_back(::atof(token.c_str()));

http://www.cplusplus.com/reference/string/string/c_str/

关于c++ - 在 C++ 中的 push_back 之前将字符串转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21372606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com