Namensräume
Varianten
Aktionen

std::basic_filebuf<CharT,Traits>::showmanyc

Von cppreference.com
< cpp‎ | io‎ | basic filebuf
 
 
 
 
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>) [bearbeiten]
extrahiert bereits verfügbare Zeichenblöcke
(public member function of std::basic_istream<CharT,Traits>) [edit]