Składnia
#include<ctime>
typedef long size_t;
size_t strftime(
char * pOutput,
size_t maxOutputSize,
const char * sFormat,
const struct tm * pTime
);
Opis szczegółowy
Funkcja konwertuje dane zawarte strukturze
tm na dowolnie sformatowaną datę lub czas w postaci łańcucha znaków.
Formatowanie
Wszystkie znaki, które nie są poprzedzone znakiem % są kopiowane do bufora pOutput bez zmian. Znak % jest znakiem specjalnym i ma bezpośredni wpływ na znak po nim następujący. Kody formatujące są przedstawione w poniższej tabeli:
Kody formatujące mogą również posiadać flagę #, która modyfikuje znaczenie wyżej wymienionych kodów formatujących. W poniższej tabeli zostało opisane znaczenie flagi dla każdego kodu formatującego:
Ustawienia lokalne mają wpływ na formatowane wyjście. Więcej informacji na ten temat w funkcji
setlocale.
Argumenty
Zwracana wartość
Zwraca liczbę znaków zapisanych w buforze wyjściowym
pOutput.
Jeśli całkowita liczba znaków, która ma być zapisana w buforze wyjściowym (włącznie ze znakiem kończącym null) jest większa niż
maxOutputSize funkcja zwróci wartość 0 i zawartość bufora wyjściowego jest nieokreślona.
Znak kończący łańcuch znaków nie jest wliczany do zwracanej wartości.
Przykład
#include <ctime>
#include <cstdio>
#include <clocale>
int main()
{
char bufor[ 64 ];
time_t czas;
time( & czas );
tm czasTM = * localtime( & czas );
strftime( bufor, sizeof( bufor ), "Obecna godzina to: %H:%M:%S", & czasTM );
printf( "[Zawartosc bufora]: \"%s\"\n", bufor );
setlocale( LC_ALL, "English" );
strftime( bufor, sizeof( bufor ), "Dzis jest: %#c", & czasTM );
printf( "[Zawartosc bufora]: \"%s\"\n", bufor );
setlocale( LC_ALL, "Polish" );
strftime( bufor, sizeof( bufor ), "Dzis jest: %#c", & czasTM );
printf( "[Zawartosc bufora]: \"%s\"\n", bufor );
return 0;
}
Przykładowe wyjście programu:
[Zawartosc bufora]: "Obecna godzina to: 02:39:16"
[Zawartosc bufora]: "Dzis jest: Wednesday, March 24, 2010 2:39:16 AM"
[Zawartosc bufora]: "Dzis jest: 24 marzec 2010 02:39:16"
Zagadnienia powiązane
tm | Przechowuje składowe daty i czasu w postaci liczb. (struktura) |
---|
asctime | Konwertuje strukturę tm na łańcuch znaków reprezentujący datę i czas. (funkcja) |
---|
ctime | Konwertuje time_t na łańcuch znaków reprezentujący datę i czas. (funkcja) |
---|
setlocale | (funkcja) |
---|
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.