PDA

View Full Version : C++ trenutno vrijeme


Sky
22-06-2007, 22:10
Da li mi može netko napisati kako u C++ dobiti trenutno vrijeme izraženo u sekundama ili milisekundama?

U PHP-u bi išlo
echo time();

Meni treba isti taj podatak, samo za C++. Tražio sam po netu, ali ima svakojakih stvari, a pola onoga što sam probao, ne radi.

tsereg
23-06-2007, 15:13
Načelno nemaš koristi od vremena izraženog u sekundama (naime: sekundama od kojeg trenutka)? Ako pogledaš opis tipa podatka za sistemsko vrijeme, time_t, (http://en.wikipedia.org/wiki/Time_t) vidjet ćeš navedeno da iako je to u POSIX-u broj sekundi od 1970, po ISO standardu format i značenje ove vrijednosti nije definirano (osim da je aritmetički tip).

Ako ti treba samo kao sjeme /seed/, pretpostavljam da ga možeš koristiti čak i ako ne znaš kako je implementiran, jer sigurno mora biti neka vrijednost koja se stalno mijenja...

Naravno, vrijeme u sekundama od nekog trenutka lako izračunaš tako da željeni datum pretvoriš u time_t zapis (pomoću mktime funkcije), onda pitaš za trenutno vrijeme (pomoću funkcije timer) i na kraju izračunaš razliku u sekundama između dva trenutka (funkcija difftime). Ovakav način određivanja vremena u sekundama je korektan, jer ne ovisi o poznavanju interne implementacije (načina zapisivanja) vremena, pa je *portabilan*. Funkcije koje sam opisao prouči ovdje:
http://en.wikipedia.org/wiki/Time.h

Općenito, standardnu C-biblioteku prouči ovdje:
http://en.wikipedia.org/wiki/C_standard_library

C++ ekvivalent je:
http://en.wikipedia.org/wiki/C%2B%2B_standard_library
Uoči da se radi o jednoj te istoj stvari.