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 CFieldExchange.

  • _Val
    Un élément à écrire dans le flux de données.

Valeur de retour

Référence à l'objet basic_ostream.

Notes

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

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

Fonction.

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

extrait les éléments de _Strbuf, si _Strbuf n'est pas un pointeur null, puis les insère. L'extraction s'arrête à la fin d'un fichier , ou si une extraction retourne une exception (qui est rethrown). Elle cesse également, sans extraire l'élément en question, si une insertion échoue. Si la fonction n'insère aucun un élément, ou si une extraction renvoie une exception, la fonction appelle setstate(failbit). Dans tous les cas, la fonction retourne *this.

Fonction.

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

convertis Val en champ booléen et l'insère en appelant use_facet<num_put<Elem, OutIt>(getloc). mets(OutIt(rdbuf), *this, getloc, val). Ici, OutIt est défini comme ostreambuf_iterator<Elem, Tr>. La fonction retourne *this.

Fonction.

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

chacun convertis _Val en un champ numérique et l'insert 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.

Fonction.

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

chacun convertis Val en un champ numérique et l'insert 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>

Espace de noms : std

Voir aussi

Référence

basic_ostream, classe

operator<< (<ostream>)

iostream, programmation

iostreams, conventions