kok5168
驱动牛犊
驱动牛犊
  • 注册日期2010-03-07
  • 最后登录2010-06-06
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望211点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:8455回复:6

想用 htons 但是 不知道该如何包含头文件。

楼主#
更多 发布于:2010-04-12 19:41
以下格式是错误的。。。。该如何包含htons 函数呀?
#progmma comment(lib,"ws2_32.lib")
#include "winsock2.h"
pdavidchang
驱动牛犊
驱动牛犊
  • 注册日期2006-06-14
  • 最后登录2015-10-13
  • 粉丝0
  • 关注0
  • 积分32分
  • 威望251点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-04-15 16:59
  
#include <stdio.h>
#include <WINSOCK2.H>
#progmma comment(lib, "ws2_32.lib")

void main()
{
   printf("%x\n", htons(0x1122));
}

没有什么不对呀
twilight731
驱动牛犊
驱动牛犊
  • 注册日期2010-01-07
  • 最后登录2010-04-22
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望61点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-04-22 11:21
不懂怎么引用,但可以直接把头文件中HTONS函数的定义COPY进来
zhangguangkai
驱动牛犊
驱动牛犊
  • 注册日期2008-09-06
  • 最后登录2010-10-30
  • 粉丝0
  • 关注0
  • 积分39分
  • 威望336点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-04-22 23:15
这个函数需要自己实现.
beholder
驱动牛犊
驱动牛犊
  • 注册日期2002-10-08
  • 最后登录2014-12-26
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2010-04-30 15:11
RtlUshortByteSwap
liuguo0225
驱动牛犊
驱动牛犊
  • 注册日期2010-01-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望151点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2010-05-04 12:10
USHORT htons(USHORT value)
{
    USHORT check=0x0055;
    if(*((UCHAR *)(&(check))))
        {
            UCHAR h1,h2;
            h1  =   *((UCHAR*)&value);
            h2  =   *(((UCHAR*)&value)+1);
            *((UCHAR *)&value)     = h2;
            *(((UCHAR*)&value)+1)  = h1;
            
        }
        return value;
}
GUNDAMRX
驱动牛犊
驱动牛犊
  • 注册日期2007-07-19
  • 最后登录2010-05-23
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2010-05-20 15:40
#define HTONS(x)    (  \
                                (((x)>>8)&0xff) | \
                                (((x)&0xff)<<8)        \
                                )

#define NTOHS(x)    HTONS(x)

#define HTONL(x)    ( \
                                (((x)>>24)&0xff) | \
                                (((x)&0xff)<<24) | \
                                (((x)&0xff0000)>>8) | \
                                (((x)&0xff00)<<8) \
                                )
#define NTOHL(x)    HTONL(x)
游客

返回顶部