c++当中ip字符串转int

2021/5/9 12:25:15

本文主要是介绍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

简单明了。



这篇关于c++当中ip字符串转int的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程