自实现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;

}