c++当中ip字符串转int

#include <iostream>
#include <sstream>
#include <map>
#include <list>
#include <vector>
#include <string>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

using namespace std;

 
/* 处理IP字符串 */
uint32_t aton(const char str[])
{
	uint32_t rs = 0;
	char *p = (char *)str;
	p = strtok(p, ".");
	while(p != NULL)
	{
		rs = (rs << 8) | atoi(p);
		p = strtok(NULL, ".");
	}
	
	return rs;
}

int main()
{

	std::string ip = "64.91.107.58";
	uint32_t x = aton(ip.data());
	cout << x << endl;

	return 0;
}

原理如下:

最终的结果 = 64 << 24 | 91 << 16 | 107 << 8 | 58

简单明了。

上一篇:鸿蒙轻内核M核源码分析系列六 任务及任务调度(1)任务栈


下一篇:八八、egg.js入门简介