c语言ip地址转16进制,点分十进制形式的ip地址转化为十六进制数

#include "csapp.h"

/*本代码将点分十进制形式的ip地址转化为十六进制数并且输出*/

//返回一个字符串代表的整数

int str2int(char *str)

{

//要注意变量的初始化

int value=0;

//字符串长度

int length = strlen(str);

//基数

int base=1;

while(--length!=0) {

base*=10;

}

while(*str!='\0') {

//用ascii码来计算

int c = *str++;

value = value + (c - 48) * base;

base/=10;

}

return value;

}

//将十进制整数转化为16进制整数并以字符形式输出

char base_10_to_base_16(int value)

{

if(value>=0&&value<=9)

return (value+48);

else if(value>=10&&value<=15)

return (value-10+97);

}

//将16进制整数数组转化为字符串输出,调用上面的base_10_to_base_16函数

char* int_to_st

你可能感兴趣的:(c语言ip地址转16进制)