Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 为什么整数类型被颠倒发送?_C_Endianness_Mailslot - Fatal编程技术网

C 为什么整数类型被颠倒发送?

C 为什么整数类型被颠倒发送?,c,endianness,mailslot,C,Endianness,Mailslot,我正在制作一个服务器程序,一个客户端已经发送了各种数据,比如字符串、整数 当客户端程序向我发送字符串时, 我按规定的顺序收到 比如说, 一个客户向我打招呼 我收到了 h e l o\0 然而,一个客户端向我发送了一个类似12345的整数 我收到的是颠倒过来的 比如说 客户端希望向我发送12345整数类型 他或她发送了“3039\0” 我收到了“5748\0”“57”是“0x39”的dec,“48”是“0x30”的dec 我发现值被颠倒发送,我认为这是因为网络字节顺序。 然而,我并没有使用网络,我

我正在制作一个服务器程序,一个客户端已经发送了各种数据,比如字符串、整数

当客户端程序向我发送字符串时, 我按规定的顺序收到

比如说,

一个客户向我打招呼 我收到了 h e l o\0

然而,一个客户端向我发送了一个类似12345的整数 我收到的是颠倒过来的

比如说

客户端希望向我发送12345整数类型 他或她发送了“3039\0” 我收到了“5748\0”“57”是“0x39”的dec,“48”是“0x30”的dec

我发现值被颠倒发送,我认为这是因为网络字节顺序。 然而,我并没有使用网络,我有客户端和服务器程序。 换句话说,, 我给自己发送了数据,但我的电脑没有连接到互联网

我使用c语言中的邮件槽与客户机通信。
为什么整数类型被颠倒发送?

与套接字相关的函数使用big-endian存储某些函数的整数。您必须使用可用的函数对其进行翻译,或者您可以编写自己的宏来进行翻译,这并不困难。

请阅读此页-,。发送的内容与接收的内容相同,因此您可能弄错了,而0x39 0x30是首先发送的。如果您使用十六进制表示法来表示十六进制值,而不是同时为十六进制和十二进制写撇号,那么您的问题会更清楚。同时显示发送和接收代码的位置。