Jak czytać pliki HGT w C ++

Próbuję odczytać dane wysokości zapisane w plikach HGT. O ile wiem, mogą być odczytywane jako pliki binarne.

Znalazłem ten wątek:
Jak uzyskać dostęp do plików .HGT SRTM w C ++?

Na podstawie tego posta mój przykładowy kod to:

#include <iostream>
#include <fstream>

int main(int argc, const char * argv[])
{

std::ifstream::pos_type size;
char * memblock;

std::ifstream file ("N45W066.hgt", std::ios::in|std::ios::binary|std::ios::ate);

if (file.is_open())
{
    size = 2;
    memblock = new char [size];

    file.seekg(0, std::ios::beg);
    file.read(memblock, size);

    int srtm_ver = 1201;
    int height[1201][1021];

    for (int i = 0; i<srtm_ver; ++i){
        for (int j = 0; j < srtm_ver; ++j) {

            height[i][j] = (memblock[0] << 8 | memblock[1]);
            std::cout<<height[i][j]<<" ";
        }
        std::cout<<std::endl;
    }
}


return 0;
}

Po pierwszym uruchomieniu daje mi mnóstwo zer i nic więcej: | Plik hgt jest dobry, przetestowałem go z aplikacją, która potrafi odczytać kilka typów plików map i zawiera dane wysokości, czego potrzebuję.

questionAnswers(1)

yourAnswerToTheQuestion