作为练习,自己编了一个:
#include "stdafx.h" #include <iostream> #include <string> //#include <windows.h> using namespace std; int IPToValue(const string& strIP) { //IP转化为数值 //没有格式检查 //返回值就是结果 int a[4]; string IP = strIP; string strTemp; size_t pos; size_t i=3; do { pos = IP.find("."); if(pos != string::npos) { strTemp = IP.substr(0,pos); a[i] = atoi(strTemp.c_str()); i--; IP.erase(0,pos+1); } else { strTemp = IP; a[i] = atoi(strTemp.c_str()); break; } }while(1); int nResult = (a[3]<<24) + (a[2]<<16)+ (a[1]<<8) + a[0]; return nResult; } string ValueToIP(const int& nValue) { //数值转化为IP //没有格式检查 //返回值就是结果 char strTemp[20]; sprintf( strTemp,"%d.%d.%d.%d", (nValue&0xff000000)>>24, (nValue&0x00ff0000)>>16, (nValue&0x0000ff00)>>8, (nValue&0x000000ff) ); return string(strTemp); } int main(void) { //对于218.92.189.40转化后-631456472 //cout<<hex<<-631456472 <<endl;//输出da5cbd28 string strIP= "218.92.189.40"; cout<<dec<<IPToValue(strIP)<<endl; //cout<<hex<<IPToValue(strIP)<<endl; cout<<ValueToIP(-631456472)<<endl; //IP为:218.92.176.82转化后 -631459758 strIP= "218.92.176.82"; cout<<dec<<IPToValue(strIP)<<endl; //cout<<hex<<IPToValue(strIP)<<endl; cout<<ValueToIP(-631459758)<<endl; return 0 ; }
也可以使用现成的win socket函数,以下代码使用vc6.0通过:
#include "stdafx.h" #include <iostream> #include <winsock2.h> #pragma comment(lib,"ws2_32.lib") using namespace std; int main(void) { cout<<(int)htonl(inet_addr("218.92.189.40"))<<endl;//输出-631456472 struct in_addr addr; addr.S_un.S_addr = ntohl(-631456472); cout<<inet_ntoa( addr )<<endl;//输出218.92.189.40 return 0 ; }
本文分享自華爲雲社區《10分鐘搞懂各種內存溢出案例!!(含完整源碼,建議收藏)》,作者:冰 河。 作爲程序員,多多少少都會遇到一些內存溢出的場景,如果你還沒遇到,說明你工作的年限可能比較短,或者你根本就是個假程序員!哈哈,開個玩笑。今天,我
[toc] 簡介 Redis 是一個單線程的數據服務,高性能,速度快,使用C語言實現,它的內部使用了一個 eventLoop 事件循環器來實現客戶端與服務端的通信。下面我們就來分析下Redis7.2的啓動程序源碼。 1、server.c m
社區王牌專欄《一問一實驗:AI 版》全新改版歸來,得到了新老讀者們的關注。其中不乏對 ChatDBA 感興趣的讀者前來諮詢,表達了想試用體驗 ChatDBA 的意願,對此我們表示感謝 ?*。 目前,ChatDBA 還在最後的準備階段,會盡快
本文分享自華爲雲社區《ModelBox-AI應用開發:動物目標檢測【玩轉華爲雲】》,作者:陽光大貓。 一、準備環境 ModelBox端雲協同AI開發套件(Windows)環境準備【視頻教程】 二、應用開發 1. 創建工程 在Model
本文分享自華爲雲社區《華爲雲短信服務教你用C++實現Smgp協議》,作者:張儉。 引言&協議概述 中國聯合網絡通信有限公司短消息網關係統接口協議(SGIP)是中國網通爲實現短信業務而制定的一種通信協議,全稱叫做Short Message
ClickHouse以性能好被大家所熟知,而一個數據庫的性能優化是一個龐大的系統性工程。本文着眼於ClickHouse內部的基礎數據結構,以揭露ClickHouse性能優化的冰山一角。 在軟件工程中並不是所有的執行路徑都需要優化,只有關鍵執
DevExpress VCL是DevExpress公司旗下最老牌的用戶界面套包,所包含的控件有:數據錄入、圖表、數據分析、導航、佈局等。該控件能幫助您創建優異的用戶體驗,提供高影響力的業務解決方案,並利用您現有的VCL技能爲未來構建下一代應
實質上,ReSharper特徵可用於C#,VB.net,XML,Asp.net,XAML,和構建腳本。 使用ReSharper,你可以進行深度代碼分析,智能代碼協助,實時錯誤代碼高亮顯示,解決方案範圍內代碼分析,快速代碼更正,一步完成代碼格
作者:太業 流式處理語言發展 早期流式處理概念: 20 世紀 70 年代,編程語言如 APL 提供了對數組的流式操作,這可以看作是流式處理語法的早期形式。 管道(Pipes)概念在 UNIX 系統中的引進使得可以通過命令行將一個命令的
Qt 是目前最先進、最完整的跨平臺C++開發工具。它不僅完全實現了一次編寫,所有平臺無差別運行,更提供了幾乎所有開發過程中需要用到的工具。如今,Qt已被運用於超過70個行業、數千家企業,支持數百萬設備及應用。 本文將爲大家演示如何使用QRh
JetBrains IDEs日前正式發佈了v2024.1版本,此版本中最大的亮點就是帶來了AI賦能的全行代碼補全,同時在最新的IDEs中重做了終端、擁有更強大的代碼編輯和導航功能、更智能的代碼分析和提示、更優化的性能、更豐富的插件和集成等。
導語 | 近期 TIOBE 最新指數顯示,PHP 的流行度降至了歷史最低,排在第 17 名,同時,在年度 Stack Overflow 開發者調查報告中,PHP 在開發者中的受歡迎程度已經從之前的約 30% 萎縮至現在的 18%。“P
1. 前言 前文實現“代碼可視化”需要了解的前置知識-編譯器前端介紹了編譯器前端知識並附帶了小練習,本文將繼續介紹編譯器中端相關的知識,還是概念+練習的學習方式。中間代碼是用來進行程序分析和實現代碼可視化的關鍵數據,瞭解其生成和優化方式能
在過去的大半年中,我一直投身於一個跨端自渲染項目的研發工作中,負責其中的渲染模塊。現在通過這篇文章,我想記錄並分享我們在這個項目中的經驗和挑戰,希望能爲大家日常開發中的涉及到渲染相關的工作帶來一些啓發和幫助。 跨端自渲染的初衷 跨端自