time_put Sınıfı
Sınıf şablonu, zaman değerlerinin türündeki CharType
dizilere 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 | Açıklama |
---|---|
time_put | türündeki time_put nesneler için oluşturucu. |
Tür tanımları
Tür adı | Açıklama |
---|---|
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 | Açıklama |
---|---|
do_put | Saat ve tarih bilgilerini s dizisi CharType olarak veren bir sanal işlev. |
koymak | Saat ve tarih bilgilerini s dizisi CharType olarak çı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 CharType
için bir eş anlamlıdır.
time_put::d o_put
Saat ve tarih bilgilerini s dizisi CharType
olarak 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
önümüzdeki
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 .
Dönüş Değeri
Son öğe eklendikten sonra ilk konuma bir yineleyici.
Açıklamalar
Sanal korumalı üye işlevi, * _Pt
nesnesinde depolanan zaman değerlerinden başlayarak next
türündeki tm
sı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 strftime
oluş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 OutputIterator
için bir eş anlamlıdır.
time_put::p ut
Saat ve tarih bilgilerini s dizisi CharType
olarak çı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
önümüzdeki
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 .
birinci
Çı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 .
Dönüş 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
, , _Pt
C, 0) değerini değerlendirirdo_put
= next
ve C'yi atlar.last
first
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 = next
do_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_put
nesneler 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