小编use*_*228的帖子

在C++中将字节数组转换为int

以下是从字节数组中获取int16(短)值的最有效方法吗?

inline __int16* ReadINT16(unsigned char* ByteArray,__int32 Offset){
    return (__int16*)&ByteArray[Offset];
};
Run Code Online (Sandbox Code Playgroud)

如果字节数组包含与机器相同的endian格式的字节转储,则调用此代码.欢迎替代方案.

c++

6
推荐指数
1
解决办法
9047
查看次数

强制TCP流发送缓冲区内容

我正在使用Csharp tcp套接字在客户端和服务器之间发送数据.现在问题,因为我看到它或我认为它是tcp是一个流协议,并不会推送(发送)数据,除非它们是足够的数量.

例如,我想发送一些数据,无论它只是说它的8个字节长.我所看到的行为无论我等多久它都不会发送数据,除非我推动它更多地推迟到达tcp缓冲区.

所以我的问题是.如果我想通过tcp发送少量数据,我需要在末尾添加垃圾以强制套接字发送.(我不会对此感觉良好)或者是他们可以强制流的前段发送的另一种方式.

提前致谢.我仍在学习tcp,所以请原谅无知.

c# sockets client tcp

4
推荐指数
1
解决办法
2191
查看次数

在文件可移植性问题中存储32位浮点数

如果我通过此代码将浮动存储在文件中

fwrite((void*)(&v), sizeof(v), 1, f); // v is a float.
Run Code Online (Sandbox Code Playgroud)

使用此代码读取文件的程序多久会导致运行时错误,因为float是8个字节而不是4个?

float v;
fread((void*)(&v), sizeof(v), 1, f);
return v;
Run Code Online (Sandbox Code Playgroud)

我可以总是读取4个字节并将其转换为8字节的浮点数吗?那会更便携吗?

强调不同的Windows平台64位与32位.

c++ floating-point portability

2
推荐指数
1
解决办法
997
查看次数

标签 统计

c++ ×2

c# ×1

client ×1

floating-point ×1

portability ×1

sockets ×1

tcp ×1