資源簡介
這是一個關于地理信息計算的小工具,包括計算經緯度、已知兩點的經緯度,計算距離、方位以及已知一點的經緯度、距離和方位,計算另一點的經緯度等功能,

代碼片段和文件信息
#include?“stdafx.h“
#include?
#include?
bool?StringUtil::StartsWith(std::string&?s1?const?char?*?s2)
{
bool?result?=?false;
if?(s2)
{
int?len1?=?s1.length();
int?len2?=?strlen(s2);
if?((len2?>?0)?&&?(len1?>=?len2))
{
const?char?*?ptr1?=?s1.c_str();
result?=?true;
for?(int?i=0;i if?(s2[i]?!=?ptr1[i])
{
result?=?false;
break;
}
}
}
}
return?result;
}
bool?StringUtil::Equals(std::string&?s1?const?char?*?s2)
{
std::string?s?=?s2;
return?Equals(s1s);
}
bool?StringUtil::Equals(std::string&?s1?std::string&?s2)
{
bool?result?=?false;
int?len1?=?s1.length();
int?len2?=?s2.length();
if?(len1?>?0)
{
if?(len1?==?len2)
{
const?char?*?ptr1?=?s1.c_str();
const?char?*?ptr2?=?s2.c_str();
result?=?true;
for?(int?i=0;i if?(ptr1[i]?!=?ptr2[i])
{
result?=?false;
break;
}
}
}
}
return?result;
}
void?StringUtil::StripControlCharacters(std::string&?s)
{
std::string?result;
int?len?=?s.length();
char?c;
for?(int?i=0;i c?=?s.c_str()[i];
if?(c?>=?32)
{
result?+=?c;
}
}
s?=?result;
}
void?StringUtil::Uppercase(std::string&?s)
{
std::string?result;
int?len?=?s.length();
char?c;
for?(int?i=0;i c?=?s.c_str()[i];
if?((c?>?96)?&&?(c?123))
{
c?-=?32;
}
result?+=?c;
}
s?=?result;
}
int?StringUtil::CompareNoCaseOrSpace(std::string&?s1?std::string&?s2)
{
int?result?=?0;
std::string?tmp1?=?s1;
std::string?tmp2?=?s2;
StripSpaces(tmp1);
StripSpaces(tmp2);
if?(CalculateHashNumber(tmp1)?==?CalculateHashNumber(tmp2))
{
if?(tmp1?==?tmp2)
{
result++;
}
}
return?result;
}
int?StringUtil::CalculateHashNumber(std::string&?s)
{
int?result?=?0;
int?length?=?s.length();
if?(length?>?0)
{
const?char?*?cptr?=?s.c_str();
char?c;
for?(int?i=0;i c?=?cptr[i];
//?we?want?this?to?be?case?insensitive
if?((c?>?96)?&&?(c?123))
{
c?-=?32;
}
result?+=?(int)c;
}
}
return?result;
}
UINT32?StringUtil::DecodeIPAddress(std::string&?s)
{
UINT32?result?=?0;
std::string?stmp?=?s;
int?length?=?stmp.length();
const?char?*?cptr?=?stmp.c_str();
int?i;
char?c;
std::string?tmp;
int?non_num?=?0;
int?num?=?0;
std::vector?numbers;
for?(i=0;i c?=?cptr[i];
if?(c?==?‘.‘)
{
if?(tmp.length()?>?0)
{
if?(IsIntNumber(tmp))
{
num++;
UINT32?u?=?atoi(tmp.c_str());
numbers.push_back(u);
}
else
{
non_num++;
}
}
else
{
break;
}
}
else
{
tmp?+=?c;
}
}
int?size?=?numbers.size();
if?(size?==?4)
{
UINT32?a?=?numbers[0];
UINT32?b?=?numbers[1];
UINT32?c?=?numbers[2];
UINT32?d?=?numbers[4];
result?=?(d?<24)?|?(c
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2004-04-19?00:26??vc6\GeoCalc\
?????文件???????17974??2004-04-17?03:07??vc6\GeoCalc\geo.cpp
?????文件????????2139??2004-04-15?01:11??vc6\GeoCalc\geo.h
?????文件????????1738??2004-04-11?15:50??vc6\GeoCalc\GeoCalc.cpp
?????文件????????5159??2004-04-11?15:51??vc6\GeoCalc\GeoCalc.dsp
?????文件?????????537??2003-02-01?18:03??vc6\GeoCalc\GeoCalc.dsw
?????文件????????1310??2003-02-01?18:03??vc6\GeoCalc\GeoCalc.h
?????文件???????10862??2004-04-11?16:09??vc6\GeoCalc\GeoCalc.rc
?????文件???????10603??2004-03-30?02:43??vc6\GeoCalc\geodlg.cpp
?????文件????????2087??2003-03-21?22:23??vc6\GeoCalc\geodlg.h
?????文件????????2813??2004-04-15?00:47??vc6\GeoCalc\GEOPage.cpp
?????文件????????1376??2004-04-11?13:03??vc6\GeoCalc\GEOPage.h
?????文件????????3163??2004-04-15?00:47??vc6\GeoCalc\IntersectPage.cpp
?????文件????????1460??2004-04-11?13:03??vc6\GeoCalc\IntersectPage.h
?????文件????????1901??2004-04-15?00:43??vc6\GeoCalc\MeridianPage.cpp
?????文件????????1300??2004-04-11?13:03??vc6\GeoCalc\MeridianPage.h
?????目錄???????????0??2004-04-19?00:23??vc6\GeoCalc\res\
?????文件????????1078??2003-02-01?18:03??vc6\GeoCalc\res\GeoCalc.ico
?????文件?????????399??2003-02-01?18:03??vc6\GeoCalc\res\GeoCalc.rc2
?????文件?????????766??2003-02-01?18:22??vc6\GeoCalc\res\icon7.ico
?????文件????????3531??2004-04-11?13:31??vc6\GeoCalc\resource.h
?????文件????????2707??2004-04-15?00:47??vc6\GeoCalc\SatPage.cpp
?????文件????????1296??2004-04-11?13:42??vc6\GeoCalc\SatPage.h
?????文件?????????209??2003-02-01?18:03??vc6\GeoCalc\StdAfx.cpp
?????文件????????1054??2003-02-01?18:03??vc6\GeoCalc\StdAfx.h
?????文件????????3176??2004-04-11?16:06??vc6\GeoCalc\tabdlg.cpp
?????文件????????1454??2004-04-11?14:46??vc6\GeoCalc\tabdlg.h
?????目錄???????????0??2004-04-19?00:23??vc6\
?????目錄???????????0??2004-04-19?00:24??src\util\
?????文件????????4850??2003-08-18?17:03??src\util\arraycontainer.h
?????文件????????6623??2004-04-11?14:29??src\util\StringUtil.cpp
............此處省略3個文件信息
評論
共有 條評論