Hallo,
ich schreibe an einem c++ Programm und verwende die Library libgeotiff. Ich versuche mit Hilfe der Library einen Wert aus einer bestehenden geotiff Datei zu extrahieren und in eine Variable zu speichern. Anbei der Code:
int main()
{
TIFF* tif = XTIFFOpen("C:\\Projekte\\Geotiffs\\Farbe1.tif", "r");
GTIF* gtif = NULL;
gtif = GTIFNew(tif);
std::string Citationkey;
GTIFKeyGet(gtif, GTCitationGeoKey, &Citationkey, 0, 1);
std::cout << Citationkey << std::endl;
XTIFFClose(tif);
}
Laut libgeotiff Dokumentation sind die Werte vom "Citation" Geokeys vom Typ String, daher das std::string Citationkey;
Leider springt Visual Studio beim ausführen in eine neue Datei und gibt folgende Fehlermeldung aus:
// proxy allocated, drain it
for (auto& _Pnext = _Myproxy->_Myfirstiter; _Pnext; _Pnext = _Pnext->_Mynextiter) { // TRANSITION, VSO-1269037
_Pnext->_Myproxy = nullptr;
}
0xC0000005: Access violation for reading at position 0xFFFFFFFFFFFFFFFF.
Kann mir jemand erklären was da schief gelaufen ist. Es hat wahrscheinlich etwas mit dem Datentyp String zu tun und der Art und Weise wie ich ihn deklariere in ihn hinein schreibe oder ihn ausgeben möchte. Ich verstehe allerdings nicht was ich falsch gemacht habe und würde mich über Tipps und bestenfalls Erklärungen freuen.
Viele Grüße