std::basic_streambuf::pubsetbuf, std::basic_streambuf::setbuf
Aus cppreference.com
<metanoindex/>
<tbody> </tbody> basic_streambuf<CharT,Traits>* pubsetbuf( char_type* s, std::streamsize n ) |
(1) | |
protected: virtual basic_streambuf<CharT,Traits>* setbuf( char_type* s, std::streamsize n ) |
(2) | |
1)
Ruft
setbuf(s, n) der am meisten abgeleiteten KlasseOriginal:
Calls
setbuf(s, n) of the most derived classThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
2)
Die Basisklasse Version dieser Funktion hat keine Wirkung. Die abgeleiteten Klassen kann diese Funktion überschreiben, um die Entfernung oder den Ersatz des kontrollierten Zeichenfolge (der Puffer) mit einem vom Benutzer bereitgestellten Array ermöglichen, oder für jede andere Implementierung spezifischer Zweck .
Original:
The base class version of this function has no effect. The derived classes may override this function to allow removal or replacement of the controlled character sequence (the buffer) with a user-provided array, or for any other implementation-specific purpose.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Parameter
| s | - | Zeiger auf das erste Byte in der vom Benutzer bereitgestellten Puffer
Original: pointer to the first byte in the user-provided buffer The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| n | - | die Anzahl von Bytes in dem Benutzer bereitgestellten Puffer
Original: the number of bytes in the user-provided buffer The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Rückgabewert
*this
Beispiel
eine 10k-Puffer zum Lesen. Unter Linux kann die strace Dienstprogramm verwendet, um die tatsächliche Anzahl der gelesenen Bytes zu beobachten
Original:
provide a 10k buffer for reading. On linux, the strace utility may be used to observe the actual number of bytes read
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
#include <fstream>
#include <iostream>
#include <string>
int main()
{
int cnt=0;
std::ifstream file;
char buf[10241];
file.rdbuf()->pubsetbuf(buf, sizeof buf);
file.open("/usr/share/dict/words");
for (std::string line; getline(file, line); ) {
cnt++;
}
std::cout << cnt << '\n';
}
