15

ifstream::read用来读取文件,

ifstream ifs("a.txt");
char buf[1024];
ifs.read(buf, 1024);

但是 a.txt 的大小可能小于1000 bytes,那么我应该如何知道从中读取了多少字节ifs

4

1 回答 1

25

您可以使用以下命令获取最后一次操作提取的字符数量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

于 2012-07-30T11:47:01.210 回答