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


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).Второй функцию-член копирует *_Next ++ любой элемент [_First в течение интервала, _Last) за исключением процента (%).Для процентное значение, за которым следует знак c# в интервале [_First, _Last), вместо функция вычисляет _Next = do_put(_Next, _Iosbase, _Fill, _Pt, c#, 0) и скипы за *c#.*Однако если c# знак квалификатора из набора EOQ#, за которым следует знак C2 в интервале [_First, _Last), вместо функция вычисляет _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 пространство имен:

См. также

Ссылки

time_put Class