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>)。
第 10% 成員函式可確保表單 ostr << endl 的運算式呼叫 endl(ostr),然後傳回 *this。 第二和第三個函式可確保其他操作工具,例如 六個,因此行為。 其餘的函式都格式化輸出功能。
函式
basic_ostream<_Elem, _Tr>& operator<<(basic_streambuf<Elem, Tr> *_Strbuf);
從 _Strbuf擷取項目,則為,如果 _Strbuf 不為 null 指標,並將它們插入。 擷取位於檔案結尾停止,則為,如果擷取擲回) 會重新擲回的例外狀況 (。 它也會停止,擷取,而不考慮這個項目,則為,如果插入失敗。 如果函式未插入項目,或者,如果擷取擲回例外狀況,函式呼叫 setstate(failbit)。 在任何情況下,函式會傳回 *this。
函式
basic_ostream<_Elem, _Tr>& operator<<(bool _Val);
out 布林值欄位和插入的轉換 _Val 會藉由呼叫 use_facet<num_put<Elem, OutIt>(getloc)。 放置(OutIt(rdbuf), *this、 getloc, val)。 在這裡, 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)。 put(OutIt(rdbuf), *this、 getloc, val)。 在這裡, 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). put(OutIt(rdbuf), *this、 getloc, val)。 在這裡, 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