【问题标题】:Reliable WinSock API that determines which endian is used on my machine可靠的 WinSock API 确定在我的机器上使用哪个字节序
【发布时间】:2016-08-16 14:36:04
【问题描述】:

我最初想使用ntohs,但备注中的以下部分迫使我在这里寻求帮助:

如果 netshort 参数已经是主机字节顺序,那么这个 功能将反转它。由应用程序决定是否 字节顺序必须颠倒。

我可以试试这样的:

short int i= 0x1;
char *c= (char*)&i;

if(c[0] == 1)  // little endian, use ntohs

但我想知道是否有 Winsock API 函数可以做到这一点?

【问题讨论】:

    标签: c++ winsock endianness winsock2 c++98


    【解决方案1】:

    虽然我没有测试它,WSANtohs 函数不包含让应用程序检查字节顺序是否必须颠倒的备注。它确实说它检查网络字节顺序:

    s参数中传入的socket用于判断网络 基于 Winsock 目录协议条目所需的字节顺序 与套接字关联。

    【讨论】:

      猜你喜欢
      • 2012-10-03
      • 1970-01-01
      • 2019-01-18
      • 1970-01-01
      • 2020-05-01
      • 2021-09-23
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      相关资源
      最近更新 更多