如何使用ifstream :: read函数读取多少字节?
Tell说文件是10个字节,windows说它也是10个字节,但是文件中只有8个字节,所以当我读它时,它只读取8个字节,所以我最终得到的缓冲区太大了.
Ale*_*x B 42
您可以gcount()在阅读后立即通过呼叫来查找.
ifs.read(buf, sizeof buf);
std::streamsize bytes = ifs.gcount();
Run Code Online (Sandbox Code Playgroud)
有一个函数叫做readsome(...)你想要的:
streamsize readsome ( char* s, streamsize n );
Run Code Online (Sandbox Code Playgroud)
返回值提取的字符数.