Freigeben über


basic_ostream::operator<<

Schreibt in den Stream.

basic_ostream<_Elem, _Tr>& operator<<(
    basic_ostream<_Elem, _Tr>& (*_Pfn)(basic_ostream<_Elem, _Tr>&)
);
basic_ostream<_Elem, _Tr>& operator<<(
    ios_base& (*_Pfn)(ios_base&)
);
basic_ostream<_Elem, _Tr>& operator<<(
    basic_ios<_Elem, _Tr>& (*_Pfn)(basic_ios<_Elem, _Tr>&)
);
basic_ostream<_Elem, _Tr>& operator<<(
    basic_streambuf<_Elem, _Tr> *_Strbuf
);
basic_ostream<_Elem, _Tr>& operator<<(
    bool _Val
);
basic_ostream<_Elem, _Tr>& operator<<(
    short _Val
);
basic_ostream<_Elem, _Tr>& operator<<(
    unsigned short _Val
);
basic_ostream<_Elem, _Tr>& operator<<(
    int __w64 _Val
);
basic_ostream<_Elem, _Tr>& operator<<(
    unsigned int __w64 _Val
);
basic_ostream<_Elem, _Tr>& operator<<(
    long _Val
);
basic_ostream<_Elem, _Tr>& operator<<(
    unsigned long __w64 _Val
);
basic_ostream<_Elem, _Tr>& operator<<(
     long long _Val
);
basic_ostream<_Elem, _Tr>& operator<<(
     unsigned long long _Val
);
basic_ostream<_Elem, _Tr>& operator<<(
    float _Val
);
basic_ostream<_Elem, _Tr>& operator<<(
    double _Val
);
basic_ostream<_Elem, _Tr>& operator<<(
    long double _Val
);
basic_ostream<_Elem, _Tr>& operator<<(
    const void *_Val
);

Parameter

  • _Pfn
    Ein Funktionszeiger.

  • _Strbuf
    Ein Zeiger auf stream_buf-Objekt.

  • _Val
    Ein den Stream geschrieben, Element.

Rückgabewert

Ein Verweis auf das basic_ostream Objekt.

Hinweise

Die <ostream> Header definiert auch mehrere globale Einfügungsoperatoren. Weitere Informationen finden Sie unter operator<< (<ostream>).

Die erste Memberfunktion, gewährleistet, dass ein Ausdruck des Formulars ostr << endlendl(ostr) aufruft, und gibt *this zurück. Im zweiten und dritten Funktionen verhindern, dass andere Manipulatoren, wie Hexadezimal, sich ähnlich verhalten. Die übrigen Funktionen sind alle formatierte Ausgabefunktionen.

Die Funktion

basic_ostream<_Elem, _Tr>& operator<<(basic_streambuf<Elem, Tr> *_Strbuf);

Gibt Elemente von _Strbuf, wenn _Strbuf kein NULL-Zeiger ist, und fügt sie ein. Suche beendet Dateiende auf oder, wenn eine Suche eine Ausnahme (die erneut ausgelösten) auslöst. Sie wird auch auf, ohne das jeweilige Element zu extrahieren, wenn eine Einfügung fehlschlägt. Wenn die Funktion keine Elemente einfügen oder wenn eine Suche eine Ausnahme auslöst, die Funktion setstate(failbit). Auf jeden Fall gibt die *this zurück.

Die Funktion

basic_ostream<_Elem, _Tr>& operator<<(bool _Val);

Wird _Val in einen booleschen Feld und den Einfüge- es durch Aufrufen von use_facet<num_put<Elem, OutIt>(getloc). Pufferüberlauf(OutIt(rdbuf), *this, getloc, val). Hier wird OutIt als ostreambuf_iterator<Elem, Tr> definiert. Die Funktion gibt *this zurück.

Die Funktionen

basic_ostream<_Elem, _Tr>& operator<<(short _Val);
basic_ostream<_Elem, _Tr>& operator<<(unsigned short _Val);
basic_ostream<_Elem, _Tr>& operator<<(int _Val);
basic_ostream<_Elem, _Tr>& operator<<(unsigned int __w64 _Val);
basic_ostream<_Elem, _Tr>& operator<<(long _Val);
basic_ostream<_Elem, _Tr>& operator<<(unsigned long _Val);
basic_ostream<_Elem, _Tr>& operator<<(long long _Val);
basic_ostream<_Elem, _Tr>& operator<<(unsigned long long _Val);
basic_ostream<_Elem, _Tr>& operator<<(const void *_Val);

jeder konvertiert _Val in einen numerischen Feld und fügen es ein, indem use_facet <num_put<Elem, OutIt>(getloc) aufgerufen wird. put(OutIt(rdbuf), getloc, *this, val). Hier wird OutIt als ostreambuf_iterator <Elem, Tr> definiert. Die Funktion gibt *this zurück.

Die Funktionen

basic_ostream<_Elem, _Tr>& operator<<(float _Val);
basic_ostream<_Elem, _Tr>& operator<<(double _Val);
basic_ostream<_Elem, _Tr>& operator<<(long double _Val);

jedes konvertieren _Val in einen numerischen Feld und fügen es ein, indem es use_facet <num_put<Elem, OutIt>(getloc). put(OutIt(rdbuf) aufruft, *this, getloc, val). Hier wird OutIt als ostreambuf_iterator <Elem, Tr> definiert. Die Funktion gibt *this zurück.

Beispiel

// basic_ostream_op_write.cpp
// compile with: /EHsc
#include <iostream>
#include <string.h>

using namespace std;

ios_base& hex2( ios_base& ib )
{
   ib.unsetf( ios_base::dec );
   ib.setf( ios_base::hex );
   return ib;
}

basic_ostream<char, char_traits<char> >& somefunc(basic_ostream<char, char_traits<char> > &i)
{
   if ( i == cout )
   {
      i << "i is cout" << endl;
   }
   return i;
}

class CTxtStreambuf : public basic_streambuf< char, char_traits< char > >
{
public:
   CTxtStreambuf(char *_pszText)
   {
      pszText = _pszText;
      setg(pszText, pszText, pszText+strlen(pszText));
   };
          char *pszText;
};

int main( )
{
   cout << somefunc;
   cout << 21 << endl;

   hex2(cout);
   cout << 21 << endl;

   CTxtStreambuf f("text in streambuf");
   cout << &f << endl;
}

Ausgabe

i is cout
21
15
text in streambuf

Anforderungen

Header: <ostream>

Namespace: std

Siehe auch

Referenz

basic_ostream-Klasse

operator<< (<ostream>)

iostream-Programmierung

iostreams-Konventionen