大小端轉換函數htonl(),htons(),ntohl(),ntons() 重寫

 

unsigned int htonl(unsigned int  x)

{

unsigned int  y;

  ((unsigned  char*)&y)[0]= ((unsigned  char*)&x)[3];
  ((unsigned  char*)&y)[1]= ((unsigned  char*)&x)[2];
  ((unsigned  char*)&y)[2]= ((unsigned  char*)&x)[1];
  ((unsigned  char*)&y)[3]= ((unsigned  char*)&x)[0];

return y;

}

unsigned int nhtonl(unsigned int  x)

{

return htonl(x);

}

unsigned short htons(unsigned short x)

{

unsigned short y;

  ((unsigned  char*)&y)[0]= ((unsigned  char*)&x)[1];
  ((unsigned  char*)&y)[1]= ((unsigned  char*)&x)[0];

return y;

}

 

unsigned short nhtons(unsigned short x)

{
return htons(x);

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章