C ++ wcsftime () - standardní knihovna C ++

Funkce wcsftime () v C ++ převede dané datum a čas z daného času v kalendáři na řetězec širokých znaků s nulovým zakončením podle řetězce formátu.

Funkce wcsftime () je definována v hlavičkovém souboru.

prototyp wcsftime ()

 size_t wcsftime (wchar_t * str, size_t count, const wchar_t * format, const tm * time);

Funkce wcsftime () má 4 argumenty: str, count, format a time.

Informace o datu a čase, na které ukazuje čas, jsou převedeny na široký znak s nulovým zakončením na základě hodnoty formátu a jsou uloženy v širokém poli, na které ukazuje str. Je zapsáno nanejvýš počet bajtů.

wcsftime () parametry

  • str: Ukazatel na první prvek širokého pole znaků pro uložení výsledku.
  • count: Maximální počet širokých znaků pro zápis.
  • format: Ukazatel na řetězec širokých znaků s nulovým zakončením určující formát převodu. Řetězec formátu se skládá ze specifikátoru převodu (začínajícího% a volitelně následovaného E nebo O) a dalších běžných širokých znaků.
    Obyčejné široké znaky včetně ukončovacího prázdného širokého znaku jsou kopírovány tak, jak jsou, do výstupního širokého řetězce. Specifikátory formátu pro wcsftime ()
    Specifikátor převodu Popis Použitá pole
    % Zapíše znak%
    n Zapíše znak nového řádku
    t Zapíše znak vodorovné karty
    Rok
    Y Zapíše 4 číslice roku, např. 2011 tm_rok
    EY Zapíše 4 číslice roku v alternativním vyjádření národního prostředí tm_rok
    y Zapíše poslední 2 číslice roku, rozsah (00, 99) tm_rok
    Dobře Zapíše poslední 2 číslice roku do alternativního vyjádření národního prostředí tm_rok
    Ey Zapíše rok jako posun od alternativního kalendářního období národního prostředí% EC (podle národního prostředí) tm_rok
    C Zapíše první 2 číslice roku, rozsah (00,99) tm_rok
    ES Zapíše název základního roku (období) do alternativního znázornění národního prostředí, tm_rok
    G Píše ISO 8601 týdenní rok, tj. Rok, který obsahuje zadaný týden. tm_year, tm_wday, tm_yday
    G Zapíše poslední 2 číslice roku založeného na ISO 8601 za týden, tj. Rok, který obsahuje zadaný týden (rozsah (00,99)). tm_year, tm_wday, tm_yday
    Měsíc
    b Píše zkrácený název měsíce, např. Jan tm_mon
    h Stejné jako b tm_mon
    B Píše celé jméno měsíce, např. Leden tm_mon
    m Zapíše měsíc jako desetinné číslo, rozsah (01,12) tm_mon
    Om Zapisuje měsíc pomocí alternativního numerického systému národního prostředí tm_mon
    Týden
    U Píše týden v roce jako desetinné číslo od 00 do 53 (neděle je první den v týdnu) tm_year, tm_wday, tm_yday
    OU Zapíše týden v roce jako% U pomocí alternativního numerického systému tm_year, tm_wday, tm_yday
    Ž Píše týden v roce jako desetinné číslo od 00 do 53 (pondělí je první den v týdnu) tm_year, tm_wday, tm_yday
    OW Zapíše týden v roce jako% W pomocí alternativního numerického systému tm_year, tm_wday, tm_yday
    PROTI Píše ISO 8601 týden v roce (rozsah (01,53)). tm_year, tm_wday, tm_yday
    OV Zapíše týden v roce jako% V pomocí alternativního numerického systému tm_year, tm_wday, tm_yday
    Den v roce / měsíc
    j Zapíše den v roce jako desetinné číslo, rozsah (001 366) tm_yday
    d Zapíše den v měsíci jako desetinné číslo, rozsah (01,31) tm_mday
    Od Zapíše den v měsíci jako% d pomocí alternativního číselného systému tm_mday
    E Zapíše den v měsíci jako desetinné číslo, rozsah (1,31) tm_mday
    Oe Zapíše den v měsíci jako% e pomocí alternativního numerického systému tm_mday
    Den v týdnu
    A Zapíše zkrácený název dne v týdnu, např. Pá (podle národního prostředí) tm_wday
    A Píše celý den v týdnu, např. Pátek (podle národního prostředí) tm_wday
    w Zapíše den v týdnu jako desetinné číslo, rozsah (0-6) (neděle je 0) tm_wday
    Ou Zapíše den v týdnu jako% w, pomocí alternativního numerického systému tm_wday
    u Zapíše den v týdnu jako desetinné číslo, kde pondělí je 1 (formát ISO 8601), rozsah (1-7) tm_wday
    Ou Zapíše den v týdnu jako% u pomocí alternativní numerické soustavy tm_wday
    Hodina, minuta, sekunda
    H Zapíše hodinu jako desetinné číslo, rozsah (00,23) tm_hodina
    ACH Zapíše hodinu jako% H pomocí alternativního numerického systému tm_hodina
    Zapíše hodinu jako desetinné číslo, rozsah (01,12) tm_hodina
    OI Zapíše hodinu jako% I pomocí alternativního numerického systému tm_hodina
    M Zapíše minutu jako desetinné číslo, rozsah (00,59) tm_min
    OM Zapíše minutu jako% M, pomocí alternativního číselného systému tm_min
    S Zapíše druhé jako desetinné číslo, rozsah (00,60) tm_sec
    OS Zapisuje druhý jako% S pomocí alternativního numerického systému tm_sec
    jiný
    C Zapíše standardní řetězec data a času, např. Ne 17. října 04:41:13 2010 (podle národního prostředí) Všechno
    Ec Zapíše alternativní řetězec data a času národního prostředí Všechno
    X Zapíše lokalizovanou reprezentaci data (podle národního prostředí) Všechno
    Zapíše národní reprezentaci data podle data Všechno
    X Zapíše lokalizovanou časovou reprezentaci (podle národního prostředí) Všechno
    EX Zapíše alternativní časovou reprezentaci národního prostředí Všechno
    D Ekvivalent k „% m /% d /% y“ tm_mon, tm_mday, tm_year
    F Ekvivalent k „% Y-% m-% d“ tm_mon, tm_mday, tm_year
    r Píše lokalizovaný 12hodinový čas tm_hour, tm_min, tm_sec
    R Ekvivalent k „% H:% M“ tm_hodina, tm_min
    T Ekvivalent k „% H:% M:% S tm_hour, tm_min, tm_sec
    P Zapisuje lokalizované dopoledne nebo odpoledne (podle národního prostředí) tm_hodina
    z zapisuje offset od UTC ve formátu ISO 8601 (např. -0545), nebo žádné znaky, pokud nejsou k dispozici informace o časovém pásmu tm_isdst
    Z Zapíše název nebo zkratku časového pásma, nebo nic, pokud informace o časovém pásmu nejsou k dispozici (podle národního prostředí) tm_isdst
  • čas: informace o datu a čase, které se mají převést.

wcsftime () Návratová hodnota

  • Při úspěchu funkce wcsftime () vrací počet širokých znaků zapsaných do širokého pole znaků, na které ukazuje str bez koncovky L ' 0'.
  • Pokud bylo dosaženo počtu před uložením celého řetězce, je vrácena 0 a obsah není definován.

Příklad: Jak funguje funkce wcsftime ()?

 #include #include #include using namespace std; int main() ( time_t curr_time; tm * curr_tm; wchar_t date_string(100); wchar_t time_string(100); time(&curr_time); curr_tm = localtime(&curr_time); wcsftime(date_string, 50, L"Today is %B %d, %Y", curr_tm); wcsftime(time_string, 50, L"Current time is %T", curr_tm); wcout << date_string << endl; wcout << time_string << endl; return 0; )

Když spustíte program, výstup bude:

 Dnes je 21. dubna 2017 Aktuální čas je 14:42:45

Zajímavé články...