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