我试图读取一个二进制文件的内容作为一组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