我ifstream::read
用来读取文件,
ifstream ifs("a.txt");
char buf[1024];
ifs.read(buf, 1024);
但是 a.txt 的大小可能小于1000 bytes
,那么我应该如何知道从中读取了多少字节ifs
?
您可以使用以下命令获取最后一次操作提取的字符数量std::ifstream::gcount
:
ifstream ifs("a.txt");
char buf[1024];
ifs.read(buf, 1024);
size_t extracted = ifs.gcount();
或者
ifstream ifs("a.txt");
char buf[1024];
size_t extracted = ifs.read(buf, 1024).gcount();
因为read(...)
回报*this
。