Поделиться через


basic_ostream::operator<<

Выполняет запись в поток.

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

Параметры

  • _Pfn
    Указатель функции.

  • _Strbuf
    Указатель на объект stream_buf.

  • _Val
    Элемент, который требуется записать в поток.

Возвращаемое значение

Ссылка на объект basic_ostream.

Заметки

Заголовок <ostream> также определяет несколько глобальных операторов вставки. Для получения дополнительной информации см. operator<< (<ostream>).

Первый функцию-член гарантирует, что выражение формы ostr << endl вызывает функцию endl(ostr), а затем возвращает *this. Второй и третий функции гарантируют, что другие манипуляторов, например hex, поведение аналогично. Все остальные функции форматированные функции.

Функция The

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

извлекает элемент из _Strbuf, если _Strbuf нет пустых указателей, и вставлять их. Извлечение останавливается в конце файла или если извлечение возникает исключение, то (,), повторно создаются. Он также останавливается, без извлечения элементов в сообщении, если вставка завершается неудачей. Если функция не содержит ни одного элемента, или если извлечение возникает исключение, то вызовы функции setstate(failbit). В любом случае функция возвращает *this.

Функция The

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

преобразование _Val на логическое поле и вставляет его с помощью метода use_facet<num_put<Elem, OutIt>(getloc). поместить(rdbuf(OutIt), *this, val). getloc В данном случае OutIt определен как ostreambuf_iterator<Elem, Tr>. Функция возвращает *this.

Функции

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

каждый преобразовать _Val к численному полю и вставляет его с именем use_facet<num_put<Elem, OutIt>(getloc). обращен(rdbuf) (OutIt, *this, val). getloc В данном случае OutIt определяется как ostreambuf_iterator<Elem, Tr>. Функция возвращает *this.

Функции

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

каждое _Val преобразования к численному полю и вставляет его с именем use_facet<num_put<Elem, OutIt>(getloc). обращен(rdbuf) (OutIt, *this, val). getloc В данном случае OutIt определяется как ostreambuf_iterator<Elem, Tr>. Функция возвращает *this.

Пример

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

Output

i is cout
21
15
text in streambuf

Требования

Заголовок:<ostream>

Пространство имен: std

См. также

Ссылки

Класс basic_ostream

operator<< (<ostream>)

Программирование iostream

Соглашения iostreams