[英]sys/stat.h returning wrong size
我在用
有趣的是st_size
大於read()
之后返回的值? st.st_size
返回644
- read()
返回606
,有什么想法嗎?
內存以塊(st_blocks)的倍數分配。 您注意到的剩余字節歸因於塊對齊。
如果檢查st.st_blocks
的值,您會發現它是644
的良好除數,而不是606的除數。
因此,如果您想知道數據所占用的實際大小,請不要使用st_size
。
文件大小和流大小可能不匹配。 例如,當您以文本模式打開文件時,OS可以將多字節EOL序列轉換為單個字符。 這通常在Windows上可見,但是如果您在Linux上具有Windows文件,則效果可以相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.