std::basic_filebuf<CharT,Traits>::showmanyc
| protected: virtual std::streamsize showmanyc() |
(optional) | |
Gibt, falls implementiert, die Anzahl der verbleibenden zu lesenden Zeichen aus der Datei zurück.
Inhalt |
[bearbeiten] Rückgabewert
Die Anzahl der zum Lesen aus der Datei verfügbaren Zeichen oder -1, wenn das Dateiende erreicht wurde.
[bearbeiten] Hinweise
Diese Funktion ist optional. Wenn sie nicht implementiert ist, gibt diese Funktion 0 zurück (da die Basisklassenversion std::basic_streambuf::showmanyc aufgerufen wird).
Unabhängig davon, ob sie implementiert ist oder nicht, wird diese Funktion normalerweise von std::basic_streambuf::in_avail aufgerufen, wenn der Lesebereich leer ist.
Der Name dieser Funktion steht für "stream: how many characters?" (Strom: wie viele Zeichen?), wird also eher "S how many C" ausgesprochen, nicht "show many C".
[bearbeiten] Beispiel
Ein Implementierungstest, um zu prüfen, ob showmanyc() für std::filebuf implementiert ist.
#include <fstream> #include <iostream> struct mybuf : std::filebuf { using std::filebuf::showmanyc; }; int main() { mybuf fin; fin.open("main.cpp", std::ios_base::in); std::cout << "showmanyc() returns " << fin.showmanyc() << '\n'; }
Mögliche Ausgabe
showmanyc() returns 254
[bearbeiten] Siehe auch
| holt die Anzahl der im Get-Bereich sofort verfügbaren Zeichen (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| extrahiert bereits verfügbare Zeichenblöcke (public member function of std::basic_istream<CharT,Traits>) |