Partager via


basic_ostream::operator<<

Écrit dans le flux.

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
);

Paramètres

  • _Pfn
    Pointeur fonction.

  • _Strbuf
    Un pointeur vers un objet de stream_buf .

  • _Val
    Un élément pour écrire dans le flux.

Valeur de retour

Une référence à l'objet de basic_ostream.

Notes

l'en-tête d' <ostream> définit également plusieurs opérateurs d'insertion globaux.Pour plus d'informations, consultez operator<< (<ostream>).

La première fonction membre garantit qu'une expression de formulaire ostr << endl appelle endl(ostr), puis retourne *this.Les deuxième et troisième fonctions garantissent que d'autres manipulateurs, tels que hexa, se comportent de la même façon.Les fonctions restantes sont toutes les fonctions de sortie mise en forme.

La fonction

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

récupère les éléments d' _Strbuf, si _Strbuf n'est pas un pointeur null, et les insère.L'extraction s'arrête au niveau de fin de fichier, ou si une récupération lève une exception (qui est à nouveau levée).Elle s'arrête également, sans extraire l'élément en question, si une implémentation échoue.Si la fonction n'insère un élément, ou si une récupération lève une exception, la fonction appelle setstate(failbit).Dans tous les cas, la fonction retourne *this.

La fonction

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

_Val de convertis en un champ booléen et aux insertions il en appelant use_facet<num_put<Elem, OutIt>(getloc).mettez(OutIt(rdbuf), *this, getloc, val).Ici, OutIt est défini comme ostreambuf_iterator<Elem, Tr>.La fonction retourne *this.

Les fonctions

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);

chaque converti _Val à un champ numérique et insertion en appelant use_facet<num_put<Elem, OutIt>(getloc). put(OutIt(rdbuf), *this, getloc, val).Ici, OutIt est défini comme ostreambuf_iterator<Elem, Tr>.La fonction retourne *this.

Les fonctions

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

chaque _Val de converti en un champ numérique et insertion en appelant use_facet<num_put<Elem, OutIt>(getloc). put(OutIt(rdbuf), *this, getloc, val).Ici, OutIt est défini comme ostreambuf_iterator<Elem, Tr>.La fonction retourne *this.

Exemple

// 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;
}

Sortie

i is cout
21
15
text in streambuf

Configuration requise

en-tête : <ostream>

l'espace de noms : DST

Voir aussi

Référence

basic_ostream Class

operator<< (<ostream>)

programmation iostream

conventions d'iostreams