J’utilise ifstream::read
pour lire un fichier,
ifstream ifs("a.txt"); char buf[1024]; ifs.read(buf, 1024);
Mais la taille de a.txt peut être inférieure à 1000 bytes
, alors comment suis-je censé savoir combien d’octets ont été lus depuis ifs
?
Vous pouvez obtenir le nombre de caractères extraits par la dernière opération avec std::ifstream::gcount
:
ifstream ifs("a.txt"); char buf[1024]; ifs.read(buf, 1024); size_t extracted = ifs.gcount();
ou
ifstream ifs("a.txt"); char buf[1024]; size_t extracted = ifs.read(buf, 1024).gcount();
depuis read(...)
renvoie *this
.