自实现inet_addr
- 格式:docx
- 大小:11.78 KB
- 文档页数:1
#include
#include
#include
#include
long change_uint(long a, long b, long c, long d){
long address = 0;
address |= d<<24;
address |= c<<16;
address |= b<<8;
address |= a;
return address;
}
long change_addr(const char *str){
long a, b, c, d;
sscanf(str, "%ld.%ld.%ld.%ld", &a, &b, &c, &d);
return change_uint(a, b, c, d);
}
int _tmain(int argc, _TCHAR* argv[]){
in_addr addr;
addr.S_un.S_addr = change_addr("192.168.0.1");
printf("%s\n",inet_ntoa(addr));
return 0;
}