有時候會遇到需要解析http位址中的ip位址,埠和後面的介面,windows有現成的函式可以解析,linux也有庫能解析,不過就是為了這麼個小功能帶乙個庫有點殺雞牛刀了。
我們需求很簡單就是解析出ip和埠以及後面的介面字串而已,不多說,直接上乾貨
//定**析結果的結構體
typedef struct urlitem
;//解析url urlin為http的url位址 out結果結構體 其實也可以解析出附帶引數什麼的,自己根據需要改改,舉一反三
bool urlparse(std::string urlin, urlitem & out)
// 分析query以 & 分割引數對,以=分割 k-v
lastpos = 0;
for (i = 0; i < out.query.length(); i++)
lastpos = i + 1;}}
temp = out.query.substr(lastpos);
pos = temp.find('=', 0);
if (pos >= 0)
lastpos = 0;
idx = 0;
for (i = 0; i < out.fullpath.length(); i++)
}out.prot = childs[0];
out.port = 80;
std::string fullpath = out.fullpath.substr(out.prot.length() + 3);
pos = fullpath.find('/');
if (pos >= 0) else if (pos = fullpath.find('\\') >= 0)
pos = out.host.find(':');
if (pos >= 0)
pos = out.path.rfind('/');
if (pos >= 0) else if (pos = out.path.rfind('\\') >= 0)
struct hostent *hptr;
char **pptr;
if ((hptr = gethostbyname(out.host.c_str())) != 0)
break;
default:
break;}}
return ret;
}
APICloud深度解析App跨平台開發技術分類
混合開發技術是目前移動開發領域的焦點技術,也是apicloud企業網際網路化生態平台的程式設計客棧核心技術,本文在介紹跨平台技術分類同時將進一步深度揭示apicloud混合開發技術的技術原理。跨平台技術的分類 目前跨平台技術領域分為兩個發展方向 第乙個是html5 native混合方向 第二個是中間...
跨平台相關
二者區別 strdup是posix,strdup是windows特定。在unix上,使用的strdup。在不同作業系統的lib庫名字不同的,為了讓程式可以多平台,需要在巨集定義中判斷當前執行作業系統和編譯器的型別,動態調整。windows win32 win32 linux linux linux ...
跨平台工具
作圖 做好圖 inkspace 向量圖 inpaint 提供類似 photoshop 的基礎功能,簡單易用 imagemagick pdf 處理 1.small pdf 2.i love pdf 編輯器1.sublime text 2.typora markdown 3.texmaker latex...