time_put::put
Saída informações de data e hora como uma seqüência de CharTypeS.
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;
Parâmetros
_Next
Um iterador de saída onde a seqüência de caracteres que representa hora e data deve ser inserido._Iosbase
Não usado._Fill
O caractere de tipo CharType usado espaçando._Pt
Informações de data e hora que é saída._Fmt
O formato de saída.Consulte STRFTIME, wcsftime, _strftime_l, _wcsftime_l para valores válidos._Mod
Um modificador para o formato.Consulte STRFTIME, wcsftime, _strftime_l, _wcsftime_l para valores válidos._First
O início da cadeia de caracteres de formatação para a saída.Consulte STRFTIME, wcsftime, _strftime_l, _wcsftime_l para valores válidos._Last
A o final da cadeia de caracteres de formatação para a saída.Consulte STRFTIME, wcsftime, _strftime_l, _wcsftime_l para valores válidos.
Valor de retorno
Um iterador a primeira posição após o último elemento inserido.
Comentários
a primeira função de membro retorna do_put(_Next, _Iosbase, _Fill, _Pt, _Fmt, _Mod).A segunda função de membro copia *_Next ++ qualquer elemento no intervalo [_First, _Last) que não seja uma porcentagem (%).Para uma porcentagem seguido por um caractere C no intervalo [_First, _Last), a função avalia em vez de isso _Next = do_put(_Next, _Iosbase, _Fill, _Pt, C, 0) e ignora após *C.*Se, no entanto, C é um caractere qualificadores do conjunto EOQ#, seguido por um caractere C2 no intervalo [_First, _Last), a função avalia em vez de isso _Next = do_put(_Next, _Iosbase, _Fill, _Pt, C2, *C)*e ignora após C2.
Exemplo
// 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;
}
Requisitos
Cabeçalho: <locale>
namespace: STD