[gdal-dev] Reading a double from file

Mateusz Loskot mateusz at loskot.net
Tue Jun 16 02:02:55 PDT 2020

On Tue, 16 Jun 2020 at 10:08, Andrew C Aitchison <andrew at aitchison.me.uk> wrote:
> Does gdal have a standard, endian-independent,
> way to read floating point values from file ?
> Specifically IEEE-754 little-endian 64bit values.
> So far my driver has used a union to "cast" 8 bytes to a double,
> but I now discover that, whilst this is valid C, it is not valid C++.
> I am looking for a portable way to read such values from file
> into a C++ double. This cannot be the first gdal driver to need to do this.

Generally, use std::memcpy or std::copy.
Detect if you need to swap bytes and swap bytes.

Specifically, among others:

BTW, for reading float-point values from text, CPLAtof, CPLScanString, etc:

Mateusz Loskot, http://mateusz.loskot.net

More information about the gdal-dev mailing list