2
我最近一直在玩C套接字,我设法在客户端和服务器之间交换文件。然而,我偶然发现了这个问题:当我的mac(64位)和覆盆子pi(32位)之间发送文件大小时,它失败了,因为size_t
在两者之间不同。我通过切换到uint64_t
解决。在这种情况下使用uint64_t是不好的做法吗?
- 我想知道,这是一个不好的做法代替
size_t
,这是在FREAD(),fwrite()将所有的原型定义为使用它,阅读(),write()方法,stat.size ? uint64_t
在覆盆子pi上会变慢吗?
我会说不,因为'intxx_t'类型保证在所有地方都是相同的大小,而'int','long','size_t'等不是。 – alain
你也可以发送一个字符串,忘记这些问题。 – 2501
根据您想要的便携性,您还需要考虑永久性。在所有形式的数据通信中,您发送的数据的大小和格式应该由通信协议_规定。 – Lundin