因硬件不同,造成对字符串和字节存放的不同,请问如何转换,用什么函数?

解决方案 »

  1.   

    转:
    在这里,必须还得提一下有关'大头(big-endian)'小头(little-endian)'.因为各种不同的计算机处理数据时的方法是不一样的,Intel 86处理器上是用'小头'形势来表示多字节的编号,就是把低字节放在前面,
    把高字节放在后面,而互联网标准却正好相反,所以,我们必须把主机字节转换成网络字节的顺序.Winsock API提供了几个函数.
    把主机字节转化成网络字节的函数;
    u_long htonl( u_long hostlong );
    u_short htons( u_short hostshort );
    把网络字节转化成主机字节的函数;
    u_long ntohl( u_long netlong ) ;
    u_short ntohs( u_short netshort ) ;
      

  2.   

    楼上的都是针对一个数据单元的
    如果有一个缓冲区需要转换 就自己写吧
    用<<和>>运算