time_get Sınıfı
Sınıf şablonu, tür CharType
dizilerinin saat değerlerine dönüşümlerini denetlemek için yerel ayar model olarak görev yapabilecek bir nesneyi açıklar.
Sözdizimi
template <class CharType,
class InputIterator = istreambuf_iterator<CharType>>
class time_get : public time_base;
Parametreler
CharType
Bir program içindeki karakterleri kodlamak için kullanılan tür.
InputIterator
Saat değerlerinin okunacağı yineleyici.
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_get | türündeki time_get 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 giriş yineleyiciyi açıklayan tür. |
Üye işlevleri
Üye işlevi | Açıklama |
---|---|
date_order | Bir model tarafından kullanılan tarih düzenini döndürür. |
do_date_order | Bir model tarafından kullanılan tarih düzenini döndürmek için çağrılan korumalı sanal üye işlevi. |
do_get | Karakter verilerini okur ve bir saat değerine dönüştürür. |
do_get_date | Dizeyi için tanımlayıcı tarafından x üretilen tarih olarak ayrıştırmak için strftime çağrılan korumalı bir sanal üye işlevi. |
do_get_monthname | Bir dizeyi ayın adı olarak ayrıştırmak için çağrılan korumalı sanal üye işlevi. |
do_get_time | Dizeyi için tanımlayıcı tarafından X üretilen tarih olarak ayrıştırmak için strftime çağrılan korumalı bir sanal üye işlevi. |
do_get_weekday | Bir dizeyi haftanın günü adı olarak ayrıştırmak için çağrılan korumalı sanal üye işlevi. |
do_get_year | Bir dizeyi yılın adı olarak ayrıştırmak için çağrılan korumalı sanal üye işlevi. |
get | Karakter verilerinin bir kaynağından okur ve bu verileri saat yapı biriminde depolanan bir saate dönüştürür. |
get_date | Dizeyi için tanımlayıcı strftime tarafından x üretilen tarih olarak ayrıştırır. |
get_monthname | Bir dizeyi ayın adı olarak ayrıştırır. |
get_time | Dizeyi için tanımlayıcı strftime tarafından X üretilen tarih olarak ayrıştırır. |
get_weekday | Bir dizeyi haftanın gününün adı olarak ayrıştırır. |
get_year | Bir dizeyi yılın adı olarak ayrıştırır. |
Gereksinimler
Üst bilgi:<yerel ayar>
Ad alanı: std
time_get::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ü, CharType şablon parametresinin eş anlamlısıdır.
time_get::d ate_order
Bir model tarafından kullanılan tarih düzenini döndürür.
dateorder date_order() const;
Dönüş Değeri
Model tarafından kullanılan tarih sırası.
Açıklamalar
Üye işlevi do_date_order döndürür.
Örnek
// time_get_date_order.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
#include <time.h>
using namespace std;
void po( char *p )
{
locale loc( p );
time_get <char>::dateorder order = use_facet <time_get <char> >( loc ).date_order ( );
cout << loc.name( );
switch (order){
case time_base::dmy: cout << "(day, month, year)" << endl;
break;
case time_base::mdy: cout << "(month, day, year)" << endl;
break;
case time_base::ydm: cout << "(year, day, month)" << endl;
break;
case time_base::ymd: cout << "(year, month, day)"<< endl;
break;
case time_base::no_order: cout << "(no_order)"<< endl;
break;
}
}
int main( )
{
po( "C" );
po( "german" );
po( "English_Britain" );
}
C(month, day, year)
German_Germany.1252(day, month, year)
English_United Kingdom.1252(day, month, year)
time_get::d o_date_order
Bir model tarafından kullanılan tarih düzenini döndürmek için çağrılan korumalı sanal üye işlevi.
virtual dateorder do_date_order() const;
Dönüş Değeri
Model tarafından kullanılan tarih sırası.
Açıklamalar
Sanal korumalı üye işlevi, time_base::d ateorder türünde bir değer döndürür. Bu değer, tarih bileşenlerinin do_get_date tarafından eşleştirilme sırasını açıklar. Bu uygulamada değer, 2 Aralık 1979 biçimindeki tarihlere karşılık gelen time_base::mdy şeklindedir.
Örnek
çağrısı do_date_order
yapan date_order örneğine bakın.
time_get::d o_get
Karakter verilerini okur ve bir saat değerine dönüştürür. Bir dönüştürme tanımlayıcısı ve değiştirici kabul eder.
virtual iter_type
do_get(
iter_type first,
iter_type last,
ios_base& iosbase,
ios_base::iostate& state,
tm* ptm,
char fmt,
char mod) const;
Parametreler
birinci
Dönüştürülecek sıranın başlangıcını gösteren bir Giriş yineleyicisi.
son
Dizinin sonunu gösteren bir Giriş yineleyicisi.
iosbase
Akış nesnesi.
state
iosbase'de uygun bit maskesi öğelerinin hataları gösterecek şekilde ayarlandığı bir alan.
ptm
Zamanın depolandığı zaman yapısının işaretçisi.
Fmt
Dönüştürme tanımlayıcısı karakteri.
mod
İsteğe bağlı değiştirici karakter.
Dönüş Değeri
İlk dönüştürülmemiş öğeyi belirten bir yineleyici döndürür. Dönüştürme hatası ilk olarak içinde ayarlanıp ios_base::failbit
döndürülüyor.state
Açıklamalar
Sanal üye işlevi, bir veya daha fazla üyesinde *pt
depolanan değerleri belirlemek için [first
, last
) aralığındaki bir veya daha fazla giriş öğesini dönüştürür ve atlar. Dönüştürme hatası ilk olarak içinde ayarlanıp ios_base::failbit
döndürülüyor.state
Aksi takdirde işlev, ilk dönüştürülmemiş öğeyi gösteren bir yineleyici döndürür.
Dönüştürme tanımlayıcıları şunlardır:
'a'
veya 'A'
-- time_get::get_weekday ile aynı şekilde davranır.
'b'
, 'B'
veya 'h'
-- time_get::get_monthname ile aynı şekilde davranır.
'c'
-- ile aynı "%b %d %H : %M : %S %Y"
şekilde davranır.
'C'
-- [0, 99] aralığındaki ondalık giriş alanını değerine val
dönüştürür ve içinde pt-&tm_year
depolarval * 100 - 1900
.
'd'
veya 'e'
-- [1, 31] aralığındaki ondalık giriş alanını dönüştürür ve değerini içinde pt-&tm_mday
depolar.
'D'
-- ile aynı "%m / %d / %y"
şekilde davranır.
'H'
-- [0, 23] aralığındaki ondalık giriş alanını dönüştürür ve değerini içinde pt-&tm_hour
depolar.
'I'
-- [0, 11] aralığındaki bir ondalık giriş alanını dönüştürür ve değerini içinde pt-&tm_hour
depolar.
'j'
-- [1, 366] aralığındaki bir ondalık giriş alanını dönüştürür ve değerini içinde pt-&tm_yday
depolar.
'm'
-- [1, 12] aralığındaki ondalık giriş alanını değere val
dönüştürür ve içinde depolar val - 1
ve değerini içinde pt-&tm_mon
depolar.
'M'
-- [0, 59] aralığındaki bir ondalık giriş alanını dönüştürür ve değerini içinde pt-&tm_min
depolar.
'n'
veya 't'
-- ile aynı " "
şekilde davranır.
'p'
-- "" veya "" değerini sıfıra, "PM" veya "PM" değerini 12'ye dönüştürür ve bu değeri öğesine pt-&tm_hour
ekler.
'r'
-- ile aynı "%I : %M : %S %p"
şekilde davranır.
'R'
-- ile aynı "%H %M"
şekilde davranır.
'S'
-- [0, 59] aralığındaki bir ondalık giriş alanını dönüştürür ve değerini içinde pt-&tm_sec
depolar.
'T'
veya 'X'
-- ile aynı "%H : %M : S"
şekilde davranır.
'U'
-- [0, 53] aralığındaki bir ondalık giriş alanını dönüştürür ve değerini içinde pt-&tm_yday
depolar.
'w'
-- [0, 6] aralığındaki bir ondalık giriş alanını dönüştürür ve değerini içinde pt-&tm_wday
depolar.
'W'
-- [0, 53] aralığındaki bir ondalık giriş alanını dönüştürür ve değerini içinde pt-&tm_yday
depolar.
'x'
-- ile aynı "%d / %m / %y"
şekilde davranır.
'y'
-- [0, 99] aralığındaki ondalık giriş alanını değerine val
dönüştürür ve içinde pt-&tm_year
depolarval < 69 val + 100 : val
.
'Y'
-- time_get::get_year ile aynı şekilde davranır.
ve içindeki diğer dönüştürme tanımlayıcıları da ios_base::failbit
state
döndürülüyor. Bu uygulamada, herhangi bir değiştiricinin hiçbir etkisi yoktur.
time_get::d o_get_date
Bir dizeyi için x tanımlayıcısı tarafından üretilen tarih olarak ayrıştırmak için strftime
çağrılan korumalı bir sanal üye işlevi.
virtual iter_type do_get_date(iter_type first,
iter_type last,
ios_base& iosbase,
ios_base::iostate& state,
tm* ptm) const;
Parametreler
birinci
Dönüştürülecek sıranın başlangıcını ele alan giriş yineleyicisi.
son
Dönüştürülecek sıranın sonunu adresleyerek giriş yineleyicisi.
iosbase
Ayarlandığında para birimi simgesinin isteğe bağlı olduğunu gösteren biçim bayrağı; aksi takdirde gereklidir.
state
İşlemlerin başarılı olup olmadığına göre akış durumu için uygun bit maskesi öğelerini ayarlar.
ptm
Tarih bilgilerinin depolandığı yere ilişkin bir işaretçi.
Dönüş Değeri
Giriş alanının ötesindeki ilk öğeyi ele alan bir giriş yineleyicisi.
Açıklamalar
Sanal korumalı üye işlevi, tam ve belirsiz bir tarih giriş alanını tanıyana kadar ilk başta [ first
, last
) dizisinde başlayan sıralı öğeleri eşleştirmeye çalışır. Başarılı olursa, bu alanı tm::tm_mon, tm::tm_day ve tm::tm_year bileşenleri olarak eşdeğer değerine dönüştürür ve sonuçları ptm->tm_mon
sırasıyla , ptm->tm_day
ve ptm->tm_year
içinde depolar. Tarih giriş alanının ötesindeki ilk öğeyi gösteren bir yineleyici döndürür. Aksi takdirde, işlev durum olarak ayarlariosbase::failbit
. Geçerli bir tarih giriş alanının herhangi bir ön ekinin ötesinde ilk öğeyi gösteren bir yineleyici döndürür. Her iki durumda da, dönüş değeri son değere eşitse işlev durum olarak ayarlanırios_base::eofbit
.
Tarih giriş alanının biçimi yerel ayara bağlıdır. Varsayılan yerel ayar için, tarih giriş alanında AAAD, YYYY biçimindedir; burada:
MMM, get_monthname çağrılarak eşleştirilir ve bu da ayı verir.
DD, karşılık gelen sayısal değeri ayın gününü veren [1, 31] aralığında olması gereken ondalık basamak dizisidir.
YYYY, yıl vererek get_year aranarak eşleştirilir.
Değişmez boşluklar ve virgüller giriş dizisindeki karşılık gelen öğelerle eşleşmelidir.
Örnek
çağrısı do_get_date
yapan get_date örneğine bakın.
time_get::d o_get_monthname
Bir dizeyi ayın adı olarak ayrıştırmak için çağrılan korumalı sanal üye işlevi.
virtual iter_type do_get_monthname(iter_type first,
iter_type last,
ios_base& iosbase,
ios_base::iostate& state,
tm* ptm) const;
Parametreler
birinci
Dönüştürülecek sıranın başlangıcını ele alan giriş yineleyicisi.
son
Dönüştürülecek sıranın sonunu adresleyerek giriş yineleyicisi.
iosbase
Kullanılmıyor.
state
İşlemlerin başarılı olup olmadığına göre akış durumu için uygun bit maskesi öğelerini ayarlayan bir çıkış parametresi.
ptm
Ay bilgilerinin depolandığı yere ilişkin bir işaretçi.
Dönüş Değeri
Giriş alanının ötesindeki ilk öğeyi ele alan bir giriş yineleyicisi.
Açıklamalar
Sanal korumalı üye işlevi, tam ve boş bir ay giriş alanını tanıyana kadar [ first
, last
) dizisinde ilk başta başlayan sıralı öğeleri eşleştirmeye çalışır. Başarılı olursa, bu alanı tm::tm_mon bileşeniyle eşdeğer değerine dönüştürür ve sonucu içinde ptm->tm_mon
depolar. Ay giriş alanının ötesindeki ilk öğeyi gösteren bir yineleyici döndürür. Aksi takdirde, işlev durum olarak ayarlarios_base::failbit
. Geçerli bir ay giriş alanının herhangi bir ön ekinin ötesinde ilk öğeyi gösteren bir yineleyici döndürür. Her iki durumda da, dönüş değeri son değere eşitse işlev durum olarak ayarlanırios_base::eofbit
.
Ay giriş alanı, Ocak, Ocak, Şubat, vb. yerel ayara özgü dizilerden oluşan en uzun diziyle eşleşen bir dizidir. Dönüştürülen değer, Ocak ayından bu yana ay sayısıdır.
Örnek
çağrısı do_get_monthname
yapan get_monthname örneğine bakın.
time_get::d o_get_time
Bir dizeyi için X tanımlayıcısı tarafından üretilen tarih olarak ayrıştırmak için strftime
çağrılan korumalı bir sanal üye işlevi.
virtual iter_type do_get_time(iter_type first,
iter_type last,
ios_base& iosbase,
ios_base::iostate& state,
tm* ptm) const;
Parametreler
birinci
Dönüştürülecek sıranın başlangıcını ele alan giriş yineleyicisi.
son
Dönüştürülecek sıranın sonunu adresleyerek giriş yineleyicisi.
iosbase
Kullanılmıyor.
state
İşlemlerin başarılı olup olmadığına göre akış durumu için uygun bit maskesi öğelerini ayarlar.
ptm
Tarih bilgilerinin depolandığı yere ilişkin bir işaretçi.
Dönüş Değeri
Giriş alanının ötesindeki ilk öğeyi ele alan bir giriş yineleyicisi.
Açıklamalar
Sanal korumalı üye işlevi, tam ve belirsiz bir zaman giriş alanı algılayana kadar [ first
, last
) dizisinde ilk başta başlayan sıralı öğeleri eşleştirmeye çalışır. Başarılı olursa, bu alanı , tm::tm_min
ve bileşenleriyle tm::tm_hour
eşdeğer değerine dönüştürür ve sonuçları ptm->tm_hour
sırasıyla , ptm->tm_min
ve ptm->tm_sec
tm::tm_sec
içinde depolar. Zaman giriş alanının ötesinde ilk öğeyi gösteren bir yineleyici döndürür. Aksi takdirde, işlev durum olarak ayarlarios_base::failbit
. Geçerli bir zaman giriş alanının herhangi bir ön ekinin ötesinde ilk öğeyi gösteren bir yineleyici döndürür. Her iki durumda da, dönüş değeri son değere eşitse işlev durum olarak ayarlanırios_base::eofbit
.
Bu uygulamada, zaman giriş alanı HH:MM:SS biçimindedir; burada:
SS, karşılık gelen sayısal değeri günün saatini veren [0, 24) aralığında olması gereken ondalık basamak dizisidir.
AA, karşılık gelen sayısal değeri [0, 60) aralığında olması gereken ve saati geçen dakikaları veren ondalık basamak dizisidir.
SS, karşılık gelen sayısal değerin [0, 60 aralığında olması gereken ve dakikayı geçen saniyeleri veren ondalık basamak dizisidir.
Değişmez değer iki nokta üst üstelerinin giriş dizisindeki ilgili öğelerle eşleşmesi gerekir.
Örnek
çağrısı do_get_time
yapan get_time örneğine bakın.
time_get::d o_get_weekday
Bir dizeyi haftanın günü adı olarak ayrıştırmak için çağrılan korumalı sanal üye işlevi.
virtual iter_type do_get_weekday(iter_type first,
iter_type last,
ios_base& iosbase,
ios_base::iostate& state,
tm* ptm) const;
Parametreler
birinci
Dönüştürülecek sıranın başlangıcını ele alan giriş yineleyicisi.
son
Dönüştürülecek sıranın sonunu adresleyerek giriş yineleyicisi.
iosbase
Ayarlandığında para birimi simgesinin isteğe bağlı olduğunu gösteren biçim bayrağı; aksi takdirde gereklidir.
state
İşlemlerin başarılı olup olmadığına göre akış durumu için uygun bit maskesi öğelerini ayarlar.
ptm
Hafta içi bilgilerinin depolandığı yere ilişkin bir işaretçi.
Dönüş Değeri
Giriş alanının ötesindeki ilk öğeyi ele alan bir giriş yineleyicisi.
Açıklamalar
Sanal korumalı üye işlevi, tam, hiç olmayan bir hafta içi giriş alanını tanıyana kadar [ first
, last
) dizisinde ilk başta başlayan sıralı öğeleri eşleştirmeye çalışır. Başarılı olursa, bu alanı tm::tm_wday bileşeniyle eşdeğer değerine dönüştürür ve sonucu içinde ptm->tm_wday
depolar. Hafta içi giriş alanının ötesindeki ilk öğeyi gösteren bir yineleyici döndürür. Aksi takdirde, işlev durum olarak ayarlarios_base::failbit
. Geçerli bir hafta içi giriş alanının herhangi bir ön ekinin ötesinde ilk öğeyi gösteren bir yineleyici döndürür. Her iki durumda da, dönüş değeri son değere eşitse işlev durum olarak ayarlanırios_base::eofbit
.
Hafta içi giriş alanı, Güneş, Pazar, Mon, Pazartesi gibi yerel ayara özgü dizilerin en uzunlarıyla eşleşen bir dizidir. Dönüştürülen değer, Pazar'dan bu yana olan gün sayısıdır.
Örnek
çağrısı do_get_weekday
yapan get_weekday örneğine bakın.
time_get::d o_get_year
Bir dizeyi yılın adı olarak ayrıştırmak için çağrılan korumalı sanal üye işlevi.
virtual iter_type do_get_year(iter_type first,
iter_type last,
ios_base& iosbase,
ios_base::iostate& state,
tm* ptm) const;
Parametreler
birinci
Dönüştürülecek sıranın başlangıcını ele alan giriş yineleyicisi.
son
Dönüştürülecek sıranın sonunu adresleyerek giriş yineleyicisi.
iosbase
Ayarlandığında para birimi simgesinin isteğe bağlı olduğunu gösteren biçim bayrağı; aksi takdirde gereklidir.
state
İşlemlerin başarılı olup olmadığına göre akış durumu için uygun bit maskesi öğelerini ayarlar.
ptm
Yıl bilgilerinin depolandığı yere ilişkin bir işaretçi.
Dönüş Değeri
Giriş alanının ötesindeki ilk öğeyi ele alan bir giriş yineleyicisi.
Açıklamalar
Sanal korumalı üye işlevi, tam, hiç olmayan bir yıl giriş alanını tanıyana kadar [ first
, last
) dizisinde ilk başta başlayan sıralı öğeleri eşleştirmeye çalışır. Başarılı olursa, bu alanı tm::tm_year bileşeniyle eşdeğer değerine dönüştürür ve sonucu içinde ptm->tm_year
depolar. Yıl giriş alanının ötesindeki ilk öğeyi gösteren bir yineleyici döndürür. Aksi takdirde, işlev durum olarak ayarlarios_base::failbit
. Geçerli bir yıl giriş alanının herhangi bir ön ekinin ötesinde ilk öğeyi gösteren bir yineleyici döndürür. Her iki durumda da, dönüş değeri son değere eşitse işlev durum olarak ayarlanırios_base::eofbit
.
Yıl giriş alanı, karşılık gelen sayısal değeri [1900, 2036) aralığında olması gereken ondalık basamak dizisidir. Depolanan değer bu değer eksi 1900'dür. Bu uygulamada, [69, 136) aralığındaki değerler yıl aralığını temsil eder [1969, 2036). [0, 69) aralığındaki değerler de izin verilebilir, ancak belirli çeviri ortamına bağlı olarak [1900, 1969) veya [2000, 2069) yıl aralığını temsil edebilir.
Örnek
çağrısı do_get_year
yapan get_year örneğine bakın.
time_get::get
Karakter verilerinin bir kaynağından okur ve bu verileri saat yapı biriminde depolanan bir saate dönüştürür. İlk işlev bir dönüştürme tanımlayıcısını ve değiştiriciyi kabul eder, ikincisi birkaçını kabul eder.
iter_type get(
iter_type first,
iter_type last,
ios_base& iosbase,
ios_base::iostate& state,
tm* ptm,
char fmt,
char mod) const;
iter_type get(
iter_type first,
iter_type last,
ios_base& iosbase,
ios_base::iostate& state,
tm* ptm,
char_type* fmt_first,
char_type* fmt_last) const;
Parametreler
birinci
Dönüştürülecek sıranın nerede başlatıldığını gösteren giriş yineleyicisi.
son
Dönüştürülecek sıranın sonunu gösteren giriş yineleyicisi.
iosbase
Akış.
state
Hataları göstermek üzere akış durumu için uygun bit maskesi öğeleri ayarlanır.
ptm
Saatin depolandığı zaman yapısının işaretçisi.
Fmt
Dönüştürme tanımlayıcısı karakteri.
mod
İsteğe bağlı değiştirici karakter.
fmt_first
Biçim yönergelerinin başladığı yeri gösterir.
fmt_last
Biçim yönergelerinin sonuna işaret eder.
Dönüş Değeri
Zaman yapısını *ptm
atamak için kullanılan veriden sonraki ilk karaktere bir yineleyici döndürür.
Açıklamalar
İlk üye işlevi döndürür do_get(first, last, iosbase, state, ptm, fmt, mod)
.
İkinci üye işlevi tarafından [fmt_first, fmt_last)
sınırlandırılan biçimin denetimi altında çağrılardo_get
. Biçimi, her biri ile [first, last)
sınırlandırılmış sıfır veya daha fazla giriş öğesinin dönüştürüleceğini belirleyen bir alan dizisi olarak kabul eder. İlk dönüştürülmemiş öğeyi gösteren bir yineleyici döndürür. Üç tür alan vardır:
Biçiminde yüzde (%) ve ardından [EOQ#] kümesinde isteğe bağlı değiştirici mod ve ardından bir dönüştürme tanımlayıcısı fmt, ilk olarak tarafından do_get(first, last, iosbase, state, ptm, fmt, mod)
döndürülen değerle değiştirilir. Dönüştürme hatası durumunda ayarlanıp ios_base::failbit
döndürülüyor.
biçimindeki bir boşluk öğesi, sıfır veya daha fazla giriş boşluk öğesini atlar.
Biçimdeki diğer öğeler atlanan bir sonraki giriş öğesiyle eşleşmelidir. Bir eşleşme hatası durumunda ayarlanıp ios_base::failbit
döndürülüyor.
time_get::get_date
Dizeyi için strftime
x tanımlayıcısı tarafından üretilen tarih olarak ayrıştırır.
iter_type get_date(iter_type first,
iter_type last,
ios_base& iosbase,
ios_base::iostate& state,
tm* ptm) const;
Parametreler
birinci
Dönüştürülecek sıranın başlangıcını ele alan giriş yineleyicisi.
son
Dönüştürülecek sıranın sonunu adresleyerek giriş yineleyicisi.
iosbase
Ayarlandığında para birimi simgesinin isteğe bağlı olduğunu gösteren biçim bayrağı; aksi takdirde gereklidir.
state
İşlemlerin başarılı olup olmadığına göre akış durumu için uygun bit maskesi öğelerini ayarlar.
ptm
Tarih bilgilerinin depolandığı yere ilişkin bir işaretçi.
Dönüş Değeri
Giriş alanının ötesindeki ilk öğeyi ele alan bir giriş yineleyicisi.
Açıklamalar
Üye işlevi do_get_date(first
, last
, iosbase
, state
, ptm
) döndürür.
Ayların 0'dan 11'e kadar sayıldığını unutmayın.
Örnek
// time_get_get_date.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
#include <time.h>
using namespace std;
int main( )
{
locale loc;
basic_stringstream< char > pszGetF, pszPutF, pszGetI, pszPutI;
ios_base::iostate st = 0;
struct tm t;
memset(&t, 0, sizeof(struct tm));
pszGetF << "July 4, 2000";
pszGetF.imbue( loc );
basic_istream<char>::_Iter i = use_facet <time_get<char> >
(loc).get_date(basic_istream<char>::_Iter(pszGetF.rdbuf( ) ),
basic_istream<char>::_Iter(0), pszGetF, st, &t);
if ( st & ios_base::failbit )
cout << "time_get("<< pszGetF.rdbuf( )->str( )<< ") FAILED on char: " << *i << endl;
else
cout << "time_get("<< pszGetF.rdbuf( )->str( )<< ") ="
<< "\ntm_sec: " << t.tm_sec
<< "\ntm_min: " << t.tm_min
<< "\ntm_hour: " << t.tm_hour
<< "\ntm_mday: " << t.tm_mday
<< "\ntm_mon: " << t.tm_mon
<< "\ntm_year: " << t.tm_year
<< "\ntm_wday: " << t.tm_wday
<< "\ntm_yday: " << t.tm_yday
<< "\ntm_isdst: " << t.tm_isdst
<< endl;
}
time_get(July 4, 2000) =
tm_sec: 0
tm_min: 0
tm_hour: 0
tm_mday: 4
tm_mon: 6
tm_year: 100
tm_wday: 0
tm_yday: 0
tm_isdst: 0
time_get::get_monthname
Bir dizeyi ayın adı olarak ayrıştırır.
iter_type get_monthname(iter_type first,
iter_type last,
ios_base& iosbase,
ios_base::iostate& state,
tm* ptm) const;
Parametreler
birinci
Dönüştürülecek sıranın başlangıcını ele alan giriş yineleyicisi.
son
Dönüştürülecek sıranın sonunu adresleyerek giriş yineleyicisi.
iosbase
Kullanılmıyor.
state
İşlemlerin başarılı olup olmadığına göre akış durumu için uygun bit maskesi öğelerini ayarlayan bir çıkış parametresi.
ptm
Ay bilgilerinin depolandığı yere ilişkin bir işaretçi.
Dönüş Değeri
Giriş alanının ötesindeki ilk öğeyi ele alan bir giriş yineleyicisi.
Açıklamalar
Üye işlevi do_get_monthname(first
, last
, iosbase
, state
, ptm
) döndürür.
Örnek
// time_get_get_monthname.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
#include <time.h>
using namespace std;
int main( )
{
locale loc ( "French" );
basic_stringstream<char> pszGetF, pszPutF, pszGetI, pszPutI;
ios_base::iostate st = 0;
struct tm t;
memset( &t, 0, sizeof( struct tm ) );
pszGetF << "juillet";
pszGetF.imbue( loc );
basic_istream<char>::_Iter i = use_facet <time_get <char> >
(loc).get_monthname(basic_istream<char>::_Iter(pszGetF.rdbuf( )),
basic_istream<char>::_Iter(0), pszGetF, st, &t);
if (st & ios_base::failbit)
cout << "time_get("<< pszGetF.rdbuf( )->str( )<< ") FAILED on char: " << *i << endl;
else
cout << "time_get("<< pszGetF.rdbuf( )->str( )<< ") ="
<< "\ntm_sec: " << t.tm_sec
<< "\ntm_min: " << t.tm_min
<< "\ntm_hour: " << t.tm_hour
<< "\ntm_mday: " << t.tm_mday
<< "\ntm_mon: " << t.tm_mon
<< "\ntm_year: " << t.tm_year
<< "\ntm_wday: " << t.tm_wday
<< "\ntm_yday: " << t.tm_yday
<< "\ntm_isdst: " << t.tm_isdst
<< endl;
}
time_get(juillet) =
tm_sec: 0
tm_min: 0
tm_hour: 0
tm_mday: 0
tm_mon: 6
tm_year: 0
tm_wday: 0
tm_yday: 0
tm_isdst: 0
time_get::get_time
Dizeyi için strftime
X tanımlayıcısı tarafından üretilen tarih olarak ayrıştırır.
iter_type get_time(iter_type first,
iter_type last,
ios_base& iosbase,
ios_base::iostate& state,
tm* ptm) const;
Parametreler
birinci
Dönüştürülecek sıranın başlangıcını ele alan giriş yineleyicisi.
son
Dönüştürülecek sıranın sonunu adresleyerek giriş yineleyicisi.
iosbase
Kullanılmıyor.
state
İşlemlerin başarılı olup olmadığına göre akış durumu için uygun bit maskesi öğelerini ayarlar.
ptm
Tarih bilgilerinin depolandığı yere ilişkin bir işaretçi.
Dönüş Değeri
Giriş alanının ötesindeki ilk öğeyi ele alan bir giriş yineleyicisi.
Açıklamalar
Üye işlevi do_get_time(first
, last
, iosbase
, state
, ptm
) döndürür.
Örnek
// time_get_get_time.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
#include <time.h>
using namespace std;
int main( )
{
locale loc;
basic_stringstream<char> pszGetF, pszPutF, pszGetI, pszPutI;
ios_base::iostate st = 0;
struct tm t;
memset( &t, 0, sizeof( struct tm ) );
pszGetF << "11:13:20";
pszGetF.imbue( loc );
basic_istream<char>::_Iter i = use_facet
<time_get <char> >
(loc).get_time(basic_istream<char>::_Iter(pszGetF.rdbuf( )),
basic_istream<char>::_Iter(0), pszGetF, st, &t);
if (st & ios_base::failbit)
cout << "time_get::get_time("<< pszGetF.rdbuf( )->str( )<< ") FAILED on char: " << *i << endl;
else
cout << "time_get::get_time("<< pszGetF.rdbuf( )->str( )<< ") ="
<< "\ntm_sec: " << t.tm_sec
<< "\ntm_min: " << t.tm_min
<< "\ntm_hour: " << t.tm_hour
<< endl;
}
time_get::get_time(11:13:20) =
tm_sec: 20
tm_min: 13
tm_hour: 11
time_get::get_weekday
Bir dizeyi haftanın gününün adı olarak ayrıştırır.
iter_type get_weekday(iter_type first,
iter_type last,
ios_base& iosbase,
ios_base::iostate& state,
tm* ptm) const;
Parametreler
birinci
Dönüştürülecek sıranın başlangıcını ele alan giriş yineleyicisi.
son
Dönüştürülecek sıranın sonunu adresleyerek giriş yineleyicisi.
iosbase
Ayarlandığında para birimi simgesinin isteğe bağlı olduğunu gösteren biçim bayrağı; aksi takdirde gereklidir.
state
İşlemlerin başarılı olup olmadığına göre akış durumu için uygun bit maskesi öğelerini ayarlar.
ptm
Hafta içi bilgilerinin depolandığı yere ilişkin bir işaretçi.
Dönüş Değeri
Giriş alanının ötesindeki ilk öğeyi ele alan bir giriş yineleyicisi.
Açıklamalar
Üye işlevi do_get_weekday(first
, last
, iosbase
, state
, ptm
) döndürür.
Örnek
// time_get_get_weekday.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
#include <time.h>
using namespace std;
int main( )
{
locale loc ( "French" );
basic_stringstream< char > pszGetF, pszPutF, pszGetI, pszPutI;
ios_base::iostate st = 0;
struct tm t;
memset( &t, 0, sizeof( struct tm ) );
pszGetF << "mercredi";
pszGetF.imbue(loc);
basic_istream<char>::_Iter i = use_facet
<time_get<char> >
(loc).get_weekday(basic_istream<char>::_Iter(pszGetF.rdbuf( )),
basic_istream<char>::_Iter(0), pszGetF, st, &t);
if (st & ios_base::failbit)
cout << "time_get::get_time("<< pszGetF.rdbuf( )->str( )<< ") FAILED on char: " << *i << endl;
else
cout << "time_get::get_time("<< pszGetF.rdbuf( )->str( )<< ") ="
<< "\ntm_wday: " << t.tm_wday
<< endl;
}
time_get::get_time(mercredi) =
tm_wday: 3
time_get::get_year
Bir dizeyi yılın adı olarak ayrıştırır.
iter_type get_year(iter_type first,
iter_type last,
ios_base& iosbase,
ios_base::iostate& state,
tm* ptm) const;
Parametreler
birinci
Dönüştürülecek sıranın başlangıcını ele alan giriş yineleyicisi.
son
Dönüştürülecek sıranın sonunu adresleyerek giriş yineleyicisi.
iosbase
Ayarlandığında para birimi simgesinin isteğe bağlı olduğunu gösteren biçim bayrağı; aksi takdirde gereklidir.
state
İşlemlerin başarılı olup olmadığına göre akış durumu için uygun bit maskesi öğelerini ayarlar.
ptm
Yıl bilgilerinin depolandığı yere ilişkin bir işaretçi.
Dönüş Değeri
Giriş alanının ötesindeki ilk öğeyi ele alan bir giriş yineleyicisi.
Açıklamalar
Üye işlevi do_get_year(first
, last
, iosbase
, state
, ptm
) döndürür.
Örnek
// time_get_get_year.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
#include <time.h>
using namespace std;
int main( )
{
locale loc;
basic_stringstream<char> pszGetF, pszPutF, pszGetI, pszPutI;
ios_base::iostate st = 0;
struct tm t;
memset( &t, 0, sizeof( struct tm ) );
pszGetF << "1928";
pszGetF.imbue( loc );
basic_istream<char>::_Iter i = use_facet
<time_get<char> >
(loc).get_year(basic_istream<char>::_Iter(pszGetF.rdbuf( )),
basic_istream<char>::_Iter(0), pszGetF, st, &t);
if (st & ios_base::failbit)
cout << "time_get::get_year("<< pszGetF.rdbuf( )->str( )<< ") FAILED on char: " << *i << endl;
else
cout << "time_get::get_year("<< pszGetF.rdbuf( )->str( )<< ") ="
<< "\ntm_year: " << t.tm_year
<< endl;
}
time_get::get_year(1928) =
tm_year: 28
time_get::iter_type
Bir giriş yineleyiciyi açıklayan tür.
typedef InputIterator iter_type;
Açıklamalar
Tür, InputIterator şablon parametresinin eş anlamlısı.
time_get::time_get
türündeki time_get
nesneler için oluşturucu.
explicit time_get(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.
Yıkıcı korunduğundan doğrudan örnek yoktur.
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