我正在尝试从文件中读取块,但我遇到了问题.
char* inputBuffer = new char[blockSize]
while (inputFile.read(inputBuffer, blockSize)) {
int i = inputFile.gcount();
//Do stuff
}
Run Code Online (Sandbox Code Playgroud)
假设我们的块大小是1024 bytes,文件是24,3 KiB.在阅读了第23个街区之后,将会有0,3 KiB阅读.我也想读一下0,3 KiB,实际上我gcount()稍后使用,所以我可以知道有多少缓冲区read(...)修改了(如果它更少).
但是当它访问第24个块时,read(...)返回一个值,使程序不进入循环,显然是因为文件中剩余未读字节的大小小于缓冲区大小.我该怎么办?