南方Linux论坛   首页 | 行业 | 下载 | Blog | 桌面应用 | 数据库 | 电子商务 | 文摘 | 网络服务 | 开源 | 系统管理 | 内核代码 | 教程

返回   南方Linux论坛 > 社区开源项目专栏 > 应用编程技术
注册账号 Blog 论坛帮助 会员列表 日历事件 搜索 今日新帖 标记讨论区已读

应用编程技术 C/C++/Gtk/Gnome/Qt/Kylix/Java等应用软件开发技术

发表新主题 回复
 
主题工具 显示模式
旧 2008-10-31, 09:52 PM   #1
Flamingo
级别:0 | 在线时长:0小时 | 升级还需:5小时
初级会员
 
注册日期: 2008-10-31
帖子: 1
精华: 0
现金: 3 金币
资产: 3 金币
声望: 10 Flamingo 正向着好的方向发展
默认 两个转换IP的函数

代码:
/*****************************
 * 0xFFFF0000 ==> 255.255.0.0
 ****************************/
int str_aton(const unsigned bip, char *sip)
{
	int count;
	char pa[4];
	unsigned temp;
	unsigned umask = 0xFF;

	memset(pa, 0, 4);
	memset(sip, 0, LIP);

	for (count=3; count>=0; count--){
		temp = umask & bip>>(count*8);
		sprintf(pa, "%i", temp);
		strcat(sip, pa);
		
		if (count != 0){
			strcat(sip, ".");
		}
	}
}
/*****************************
 * 255.255.0.0 ==> 0xFFFF0000
 *****************************/
unsigned bin_aton(const char *sip)
{
	int i;
	int M = 8;
	unsigned umask;
	char str[LIP];

	memcpy(str,sip,LIP);
	umask = atoi(strtok(str,"."))<<3*M;
	
	for (i=2; i>=0; i--){
		umask |= atoi(strtok(NULL,"."))<<i*M;
	}
	return umask;
}
不用我说 , 一看就明白!
Flamingo 当前离线  
回复时引用此帖
发表新主题 回复


当前查看此主题的会员: 1 (0 位会员和 1 位游客)
 
主题工具
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

论坛启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


所有时间均为北京时间。现在的时间是 06:22 AM


vBulletin 3.6.8 Powered by 南方Linux联盟
版权所有 ©2004 - 2009, bbs.linuxunion.net