◐ Shell
clean mode source ↗

std::basic_streambuf::pubsetbuf, std::basic_streambuf::setbuf – cppreference.com

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 Klasse

Original:

Calls setbuf(s, n) of the most derived class

The text has been machine-translated via Google Translate.
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.

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.

#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';
}

Siehe auch

bietet vom Benutzer angegebenen Puffer oder schaltet diese filebuf unbuffered

Original:

provides user-supplied buffer or turns this filebuf unbuffered

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(virtuellen geschützten Member-Funktion of std::basic_filebuf) [edit]