std::basic_streambuf<CharT,Traits>:: sgetn, std::basic_streambuf<CharT,Traits>:: xsgetn
From cppreference.net
<
cpp
|
io
|
basic streambuf
|
std::
streamsize
sgetn
(
char_type
*
s,
std::
streamsize
count
)
;
|
(1) | |
|
protected
:
virtual std:: streamsize xsgetn ( char_type * s, std:: streamsize count ) ; |
(2) | |
1)
Ruft
xsgetn(s, count)
der am stärksten abgeleiteten Klasse auf.
2)
Liest
count
Zeichen aus der Eingabesequenz und speichert sie in einem Zeichenarray, auf das
s
zeigt. Die Zeichen werden gelesen, als ob durch wiederholte Aufrufe von
sbumpc()
. Das heißt, wenn weniger als
count
Zeichen sofort verfügbar sind, ruft die Funktion
uflow()
auf, um weitere bereitzustellen, bis
Traits
::
eof
(
)
zurückgegeben wird.
Von
std::basic_streambuf
abgeleitete Klassen dürfen effizientere Implementierungen dieser Funktion bereitstellen.
Inhaltsverzeichnis |
Parameter
| s | - | Zeiger auf den Anfang eines char_type-Arrays |
| count | - | maximale Anzahl der zu lesenden Zeichen. |
Rückgabewert
Die Anzahl der erfolgreich gelesenen Zeichen. Wenn diese kleiner als
count
ist, hat die Eingabesequenz das Ende erreicht.
Hinweise
Die Regel über "effizientere Implementierungen" erlaubt Bulk-I/O ohne Zwischenpufferung: So übergibt
std::ifstream::read
in einigen Implementierungen von iostreams einfach den Zeiger an den POSIX
read()
Systemaufruf
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
ruft
xsputn
(
)
(öffentliche Elementfunktion) |