我正在使用ifstream::read
来读取文件
ifstream ifs("a.txt");
char buf[1024];
ifs.read(buf, 1024);
但是a.txt的大小可能小于1000 bytes
,那么我怎么知道从ifs
读取了多少字节?
答案 0 :(得分:19)
您可以使用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
。