C++ 在C+中推回U之前将字符串转换为浮点数+;

C++ 在C+中推回U之前将字符串转换为浮点数+;,c++,type-conversion,stdvector,push-back,C++,Type Conversion,Stdvector,Push Back,我收集了大量的CSV行,我将它们一行一行地拆分,用逗号拆分,然后将这些标记放在一个向量中 下面是我处理这句话中最后两项的小代码片段: //token for parser string token; //turn into a string stream istringstream ss(line); //ye olde vector to put things in std::vector<float&g

我收集了大量的CSV行,我将它们一行一行地拆分,用逗号拆分,然后将这些标记放在一个向量中

下面是我处理这句话中最后两项的小代码片段:

//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));
        }
换句话说,将字符串转换为浮点数是不允许的,至少我是这样做的


如何将此数据类型转换为浮点型?我认为这是直截了当的,但是我对C++缺乏经验(我在C语言中的表现要好得多),还没有抓住其他语言中我认为理所当然的细微差别。

< P>代码>令牌< /代码>是“<代码> STD::String ”的类型。code>atof获取指向以nul结尾的字符数组的c字符串或
const char*
指针

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

可能存在的副本
lineContainer.push_back(::atof(token.c_str()));