【发布时间】:2018-09-25 00:45:00
【问题描述】:
我在一个文件中有一些二进制数据。为了读取所有数据,我这样做了:
// open the file
// ...
// now read the file
char data;
while (fread(&data, sizeof(char), 1, input) == 1) {
// do something
}
嗯,这很好,但我的老师说我不应该逐行读取文件,因为这会增加 I/O 的数量。所以现在我需要一次读取整个二进制文件。我怎样才能做到这一点?有人可以帮忙吗?
【问题讨论】:
-
您不是逐行阅读,而是逐字阅读。缓冲 I/O 意味着它的效率将超出您的预期。
-
帮助阅读:Reading all bytes from a file (answer 1) 请注意,大文件需要大量 RAM。
-
哦...我是 C++ 的初学者,所以我对一些概念感到困惑。 @MarkRansom
-
谢谢!你真的帮了我很多!@user4581301
标签: c++