在 C++ 中读取文件某个位置的字节;
是否可以打开一个文件并读取某个位置的唯一字节,而不必将所有文件加载到数组中?
例如,有一个 10 字节的文件,读取第 5 个字节。
Is it possible to open a file and reading an only byte at a certain position without having to load all the file into an array?
For example, having a file of 10 bytes, and reading the 5th.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,使用 istream::seekg 来寻找您想要的位置读取,然后 istream::get 读取一个字节(或<一href="http://en.cppreference.com/w/cpp/io/basic_istream/read" rel="noreferrer">istream::read 读取多个字节)。
Yes, use istream::seekg to seek to the position you want to read from, and then istream::get to read a byte (or istream::read to read more than one byte).
是的,
fseek
和fgetc
正是这样做的。http://www.cplusplus.com/reference/clibrary/cstdio/fseek/
http://www.cplusplus.com/reference/clibrary/cstdio/fgetc/
Yes,
fseek
andfgetc
will do exactly this.http://www.cplusplus.com/reference/clibrary/cstdio/fseek/
http://www.cplusplus.com/reference/clibrary/cstdio/fgetc/