time_put::put
CharType、. のシーケンスとして出力で日時の情報。
iter_type put(
iter_type _Next,
ios_base& _Iosbase,
char_type _Fill,
const tm* _Pt,
char _Fmt,
char _Mod = 0
) const;
iter_type put(
iter_type _Next,
ios_base& _Iosbase,
char_type _Fill,
const tm* _Pt,
const CharType* _First,
const CharType* _Last
) const;
パラメーター
_Next
時間と日付を表す文字のシーケンスを挿入する必要があります。出力反復子。_Iosbase
使用されません。_Fill
スペーシングに対して使用される型 CharType の文字。_Pt
出力された時間と日付の情報。_Fmt
出力形式。有効な値については、strftime、wcsftime、_strftime_l、_wcsftime_l を参照してください。_Mod
形式の修飾子。有効な値については、strftime、wcsftime、_strftime_l、_wcsftime_l を参照してください。_First
出力の書式指定文字列の先頭。有効な値については、strftime、wcsftime、_strftime_l、_wcsftime_l を参照してください。_Last
出力の書式指定文字列の末尾。有効な値については、strftime、wcsftime、_strftime_l、_wcsftime_l を参照してください。
戻り値
挿入最後の要素の後の最初の位置を指す反復子。
解説
一つ目のメンバー関数は do_put (_Next、_Iosbase、_Fill、_Pt、_Fmt、_Mod) を返します。2 番目のメンバー関数は、パーセント (%) *_Next C++ 以外の間隔を [_First、_Last) のすべての要素コピーします。間隔 [_First、_Last) 文字 C に続く割合には、関数が _Next = do_put (_Next、_Iosbase、_Fill、_Ptの C、0) と Cを含まないスキップを評価します。ただし、C が間隔_First、[ _Last) 文字 C2 に続くセット EOQ# からの修飾子文字関数はに評価されます _Next = do_put (_Next、_Iosbase、_Fill、_Pt、C2、C) と C2を含まないをスキップです。
使用例
// time_put_put.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
#include <time.h>
using namespace std;
int main( )
{
locale loc;
basic_stringstream<char> pszPutI;
ios_base::iostate st = 0;
struct tm t;
memset( &t, 0, sizeof( struct tm ) );
t.tm_hour = 5;
t.tm_min = 30;
t.tm_sec = 40;
t.tm_year = 00;
t.tm_mday = 4;
t.tm_mon = 6;
pszPutI.imbue( loc );
char *pattern = "x: %X %x";
use_facet <time_put <char> >
(loc).put(basic_ostream<char>::_Iter(pszPutI.rdbuf( )),
pszPutI, ' ', &t, pattern, pattern+strlen(pattern));
cout << "num_put( ) = " << pszPutI.rdbuf( )->str( ) << endl;
char strftimebuf[255];
strftime(&strftimebuf[0], 255, pattern, &t);
cout << "strftime( ) = " << &strftimebuf[0] << endl;
}
必要条件
ヘッダー: <locale>
名前空間: std