二进制读取数据到float C ++

时间:2015-12-23 13:18:26

标签: c++ csv binary

我需要从.CSV文件中读取我的程序中的一些数据,我不知道如何将此数字更改为float。 我只能使用标准库,这个文件需要是二进制文件(ios::binary)。

这就是.csv文件中的样子:

Lateral.Range(mm),5.000000

如何制作这个" 5.000000"浮动?

#include<iostream>
#include<fstream>
#include<cstring>

using namespace std;

int main()
{
    ifstream obraz;
    obraz.open("File_name.csv", ios::binary);

    if(!obraz)
        cerr<<"nie udalo sie otworzyc pliku "<<endl;

    char lat_ran[18]; // text before the number
    float lateral_range;

    obraz.read(lat_ran, sizeof(lat_ran));
    obraz.read(reinterpret_cast<float*>(&lateral_range), sizeof(float)); // I know this part is wrong.

    obraz.close();
}

1 个答案:

答案 0 :(得分:0)

使用>>运算符: obraz >> lateral_range;