我試圖讀取一個二進制文件的內容作爲一組n個字節,並將它們放在一個字符緩衝區中,並對緩衝區執行一些操作。對於下一次迭代,我必須從文件中讀取下n個字節,並將其放入緩衝區,直到文件結束。我可以使用getc(fp)和普通文本文件做同樣的事情。但是對於二進制文件,在讀取文件的全部內容之前,getc()會遇到EOF。我如何用C中的二進制文件實現它?C中的二進制文件讀取操作?
0
A
回答
0
3
兩件事情要考慮:
首先,爲了與fopen
閱讀打開二進制文件時,使用模式"rb"
。這會以二進制模式打開文件,因此不會對某些字符進行特殊處理。請注意,在Linux上這並不重要,但在Windows上它確實如此。
其次,請注意fgetc
會將一個字符轉換爲int
。這使您可以檢查EOF
。如果結果不是EOF
,它將是一個值從0到255的字符(假設當然是CHAR_BIT
是8)。
1
在二進制文件中,從文件中讀取的過程通常由函數fread
進行。此外,如果您要將過程迭代到文件末尾。您可以使用while
while(!feof(fp)) // still not read to the end of file yet
if (fread(buffer, sizeof(...),1,fp)==1) //put single variable to the array[]
....
`
。
相關問題
- 1. 二進制C++中的文件讀取
- 2. 讀取C中的二進制文件
- 3. C#從讀取文本文件中讀取二進制文件
- 4. Matlab中的二進制文件寫入/讀取操作
- 5. 在c#中讀取exe文件作爲二進制文件
- 6. 二進制文件操作
- 7. 二進制文件讀取性能C++
- 8. 二進制文件讀取/用C
- 9. 讀取二進制文件C++
- 10. C:讀取二進制文件
- 11. C二進制文件讀取
- 12. 讀取二進制文件:c
- 13. C,讀取二進制文件?
- 14. C:讀取二進制文件
- 15. 二進制操作用C
- 16. 在C中搜索二進制碼(讀取緩衝的二進制文件)
- 17. 從文件中讀取二進制數
- 18. 在MatLab中讀取二進制文件
- 19. 在Python中讀取二進制文件
- 20. 在android中讀取二進制文件
- 21. 在Python中讀取二進制文件
- 22. 在Delphi中讀取二進制文件
- 23. 如何讀取二進制文件,可讀性於C,Fortran中
- 24. C#WPF二進制讀取
- 25. C#二進制讀取器
- 26. C中BigInteger的二進制/位操作#
- 27. C中的二進制操作
- 28. Erlang二進制文件的二進制操作?
- 29. C時的讀數二進制文件
- 30. 如何讀取unicode文件名C++的二進制文件?
你想知道C或C++嗎?請刪除不適當的標籤。 –
在C中,你可以看看fread()函數 –
試用fread/fwrite C.在C++中有ifstream,第二個參數是ios :: binary,據我所知。 – slavanap