Aracılığıyla paylaş


time_put Sınıfı

Sınıf şablonu, zaman değerlerinin türündeki CharTypedizilere dönüştürülmelerini denetlemek için yerel ayar model olarak görev yapabilecek bir nesneyi açıklar.

Sözdizimi

template <class CharType,
    class OutputIterator = ostreambuf_iterator<CharType>>
class time_put : public locale::facet;

Parametreler

Chartype
Bir program içindeki karakterleri kodlamak için kullanılan tür.

OutputIterator
Saat koyma işlevlerinin kendi çıktılarının yazılacağı yineleyici türü.

Açıklamalar

Herhangi bir yerel ayar modelinde olduğu gibi, statik nesne kimliğinde depolanmış bir başlangıç sıfır değeri bulunur. Depolanan değerine erişmeye yönelik ilk deneme, kimlikte benzersiz bir pozitif değer depolar.

Oluşturucular

Oluşturucu Tanım
time_put türündeki time_putnesneler için oluşturucu.

Tür tanımları

Tür adı Tanım
Char_type Bir yerel ayar tarafından kullanılan bir karakteri tanımlamak için kullanılan tür.
iter_type Bir çıkış yineleyiciyi açıklayan tür.

Üye işlevleri

Üye işlevi Tanım
do_put Saat ve tarih bilgilerini s dizisi CharTypeolarak veren bir sanal işlev.
Koymak Saat ve tarih bilgilerini s dizisi CharTypeolarak çıkışlar.

Gereksinimler

Üst bilgi:<yerel ayar>

Ad alanı: std

time_put::char_type

Bir yerel ayar tarafından kullanılan bir karakteri tanımlamak için kullanılan tür.

typedef CharType char_type;

Açıklamalar

türü, şablon parametresi CharTypeiçin bir eş anlamlıdır.

time_put::d o_put

Saat ve tarih bilgilerini s dizisi CharTypeolarak veren bir sanal işlev.

virtual iter_type do_put(
    iter_type next,
    ios_base& _Iosbase,
    const tm* _Pt,
    char _Fmt,
    char _Mod = 0) const;

Parametreler

Sonraki
Saat ve tarihi temsil eden karakter dizisinin eklendiği bir çıkış yineleyicisi.

_Iosbase
Kullanılmıyor.

_Pt
Çıkış yapılan saat ve tarih bilgileri.

_Fmt
Çıkışın biçimi. Geçerli değerler için bkz . strftime, wcsftime, _strftime_l, _wcsftime_l .

_Mod
Biçimin değiştiricisi. Geçerli değerler için bkz . strftime, wcsftime, _strftime_l, _wcsftime_l .

İade Değeri

Son öğe eklendikten sonra ilk konuma bir yineleyici.

Açıklamalar

Sanal korumalı üye işlevi, * _Ptnesnesinde depolanan zaman değerlerinden başlayarak next türündeki tmsıralı öğeler oluşturur. işlevi, oluşturulan çıkışın ötesine öğe eklemek için sonraki yeri gösteren bir yineleyici döndürür.

Çıkış, bir diziye bir dizi char öğe oluşturmak için son bağımsız değişkeni _Pt olan tarafından kullanılan kurallar tarafından strftimeoluşturulur. Bu tür char öğelerin her birinin, basit, bire bir eşlemeyle eşdeğer CharType türde bir öğeyle eşlendiği varsayılır. _Mod sıfıra eşitse, geçerli biçim "%F" olur; burada F, _Fmt ile değiştirilir. Aksi takdirde, geçerli biçim "%MF" şeklindedir; burada M, _Mod ile değiştirilir.

Örnek

Put örneğine bakın ve bu da öğesini çağırırdo_put.

time_put::iter_type

Bir çıkış yineleyiciyi açıklayan tür.

typedef OutputIterator iter_type;

Açıklamalar

türü, şablon parametresi OutputIteratoriçin bir eş anlamlıdır.

time_put::p ut

Saat ve tarih bilgilerini s dizisi CharTypeolarak çıkışlar.

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;

Parametreler

Sonraki
Saat ve tarihi temsil eden karakter dizisinin eklendiği bir çıkış yineleyicisi.

_Iosbase
Kullanılmıyor.

_Doldurmak
Aralık için kullanılan türün CharType karakteri.

_Pt
Çıkış yapılan saat ve tarih bilgileri.

_Fmt
Çıkışın biçimi. Geçerli değerler için bkz . strftime, wcsftime, _strftime_l, _wcsftime_l .

_Mod
Biçimin değiştiricisi. Geçerli değerler için bkz . strftime, wcsftime, _strftime_l, _wcsftime_l .

Ilk
Çıktının biçimlendirme dizesinin başlangıcı. Geçerli değerler için bkz . strftime, wcsftime, _strftime_l, _wcsftime_l .

Son
Çıktı için biçimlendirme dizesinin sonu. Geçerli değerler için bkz . strftime, wcsftime, _strftime_l, _wcsftime_l .

İade Değeri

Son öğe eklendikten sonra ilk konuma bir yineleyici.

Açıklamalar

İlk üye işlevi do_put(next, _Iosbase, _Fill, _Pt, _Fmt, _Mod) döndürür. İkinci üye işlevi , [ first, last) aralığındaki bir yüzde (%) dışındaki herhangi bir öğeye * next ++ kopyalar. Bir yüzde için ve ardından [ , ) aralığında bir C karakteri geliyorsa işlev bunun yerine ( next, _Iosbase, _Fill, , _PtC, 0) değerini değerlendirirdo_put = next ve C'yi atlar.lastfirst Ancak C, küme EOQ# öğesinden bir niteleyici karakterse ve ardından [ first, last) aralığında bir karakter C2 geliyorsa, işlev bunun yerine değerini ( next, _Iosbase, _Fill, _Pt, , C2, C) değerlendirir = nextdo_put ve atlar.C2

Örnek

// 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;
}
num_put( ) = x: 05:30:40 07/04/00
strftime( ) = x: 05:30:40 07/04/00

time_put::time_put

türünde time_putnesneler için oluşturucu.

explicit time_put(size_t _Refs = 0);

Parametreler

_Refs
Nesne için bellek yönetimi türünü belirtmek için kullanılan tamsayı değeri.

Açıklamalar

_Refs parametresinin olası değerleri ve anlamları şunlardır:

  • 0: Nesnenin yaşam süresi, nesnenin bulunduğu yerel ayarlar tarafından yönetilir.

  • 1: Nesnenin ömrü el ile yönetilmelidir.

  • > 1: Bu değerler tanımlanmamıştır.

Oluşturucu, temel nesnesini locale::facet(_Refs) ile başlatır.

Ayrıca bkz.

<yerel ayar>
time_base Sınıfı
C++ Standart Kitaplığında İş Parçacığı Güvenliği