0

我想通过 MaxMind 数据库将一堆 IP 地址映射到它们的纬度和经度。我的代码是 C 语言,我不知道如何使用这个数据库。

4

1 回答 1

0

我假设你想要这些方面的东西:

#include <stdio.h>
#include <GeoIP.h>
#include <GeoIPCity.h>

int main()
{
    GeoIP *gi;
    GeoIPRecord *gir;

    gi = GeoIP_open("/usr/local/share/GeoIP/GeoIPCity.dat", GEOIP_INDEX_CACHE);

    if (gi == NULL) {
        /* handle error */
    }

    gir = GeoIP_record_by_name(gi, "1.1.1.1");
    if (gir == NULL) {
        /* handle error */
    }

    printf("latitude: %f   longitude: %f", gir->latitude, gir->longitude);
}
于 2014-01-31T01:37:08.373 回答