Nie, zle si to pochopil ( alebo mozno len zbytocne komplikovane ). Este raz sa mrkni na tu stranku od duriho. Prototyp funkcie vyzera takto:
Kód:
size_t strftime ( char * ptr, size_t maxsize, const char * format, const struct tm * timeptr );
kde je jednotlive parametre su:
ptr - smernik na pamat, kde sa ulozi vysledny cas, pripadne datum sformatovany do pozadovanej podoby
maxsize - maximalny pocet znakov, ktore sa mozu skopirovat ( aby nedoslo k zapisu za hranicu pamate )
format - retazec, ktory predstavuje pozadovany format, ako chces ziskat cas alebo datum. Na to si prezri tabulku, ktora je na stranke. V poslednom stlpci je vysledok. Zrejme chces takyto tvar casu
HH:MM:SS, v tom pripade pouzi retazec
"%X".
timeptr - smernik na strukturu tm, ktora obsahuje informacie s casom/datumom.
Po tejto funkcii uz mas v premennej, na ktoru ukazuje smernik ptr, ulozeny cas, staci ho iba klasicky vypisat, napriklad cez printf, alebo ako je v priklade, cez puts.
Ak upravim ten priklad zo stranky, tak takto nejako si to mozes skusit:
Kód:
/* strftime example */
#include <stdio.h>
#include <time.h>
int main ()
{
time_t rawtime;
struct tm *timeinfo;
char buffer[80];
time( &rawtime );
timeinfo = localtime( &rawtime );
strftime ( buffer, 80, "Teraz je cas %X", timeinfo );
printf( "%s\n", buffer );
return 0;
}