别小看这个算法,其实他的效率还是很高的(当然比汇编还是差了点),网络上传入的数据包,往往有一个长度信息,这个算法用于在发送和接受的时候把这个长度和字符串互相转换
void
int_to_str(unsigned
int
*
ip,unsigned
char
*
sp)
... {
for(int i = 0; i < 4; i++)
...{
sp[i] = (*ip >> (8 * i)) & 0xff;
}
}
void str_to_int(unsigned char * sp,unsigned int * ip)
... {
for(int i = 0; i < 4; i++)
...{
*ip |= (size_t)sp[i] << (8 * i);
}
}
... {
for(int i = 0; i < 4; i++)
...{
sp[i] = (*ip >> (8 * i)) & 0xff;
}
}
void str_to_int(unsigned char * sp,unsigned int * ip)
... {
for(int i = 0; i < 4; i++)
...{
*ip |= (size_t)sp[i] << (8 * i);
}
}