Namespaces
Variants

std::istrstream:: istrstream

From cppreference.net
explicit istrstream ( const char * s ) ;
(1) (veraltet in C++98)
(entfernt in C++26)
explicit istrstream ( char * s ) ;
(2) (veraltet in C++98)
(entfernt in C++26)
istrstream ( const char * s, std:: streamsize n ) ;
(3) (veraltet in C++98)
(entfernt in C++26)
istrstream ( char * s, std:: streamsize n ) ;
(4) (veraltet in C++98)
(entfernt in C++26)

Konstruiert einen neuen std::istrstream und seinen zugrundeliegenden std::strstreambuf .

1,2) Konstruiert den zugrundeliegenden std::strstreambuf durch Aufruf von strstreambuf ( s, 0 ) und initialisiert die Basisklasse mit der Adresse des strstreambuf . Das Verhalten ist undefiniert, wenn s nicht auf ein Element eines nullterminierten Arrays zeigt.
3,4) Konstruiert den zugrundeliegenden std::strstreambuf durch Aufruf von strstreambuf ( s, n ) und initialisiert die Basisklasse mit der Adresse des strstreambuf . Das Verhalten ist undefiniert, wenn s nicht auf ein Element eines Arrays zeigt, dessen Länge mindestens n Elemente beträgt.

Parameter

s - C-String oder Char-Array, das als Inhalt des Streams verwendet wird
n - Größe des Arrays

Beispiel

#include <iostream>
#include <strstream>
int main()
{
    std::istrstream s1("1 2 3"); // String-Literal
    int n1, n2, n3;
    if (s1 >> n1 >> n2 >> n3)
        std::cout << n1 << ", " << n2 << ", " << n3 << '\n';
    char arr[] = {'4', ' ', '5', ' ', '6'};
    std::istrstream s2(arr, sizeof arr);
    if (s2 >> n1 >> n2 >> n3)
        std::cout << n1 << ", " << n2 << ", " << n3 << '\n';
}

Ausgabe:

1, 2, 3
4, 5, 6

Siehe auch

Konstruiert ein strstreambuf Objekt
(öffentliche Elementfunktion von std::strstreambuf )
Konstruiert ein ostrstream Objekt, optional mit Puffer-Allokation
(öffentliche Elementfunktion von std::ostrstream )
Konstruiert ein strstream Objekt, optional mit Puffer-Allokation
(öffentliche Elementfunktion von std::strstream )