Piszę sobie w C pod linuksem (gcc (Debian 4.4.4-9) 4.4.5 20100816 (prerelease)) mały programik i potrzebuję znacznika czasu w postaci [RRRR/mm/dd HH:MM:SS]. Przy pomocy google'a napisałem coś takiego:
Czegoś tutaj nie łapię - czy to jest funkcja, czy wskaźnik na funkcję?
Edycja:
To tylko moje późnonocne zaplątanie, przepraszam. Zobacz czy czas wyjściowy (ang. outtime) jest dobrze ustawiany - u Ciebie wyrzuca losowe znaki a u mnie nic (co by znaczyło, że tak jakby wyrzuca jakiś zajęty ale niewyczyszczony kawałek pamięci).
kabanek, taka postać tego kodu u mnie też działa ale to nie jest to co ja chcę osiągnąć, nie będę pisał 5/6 linijek kodu gdy tylko chcę wypisać czas.
Czocher, to jak działa funkcja localtime skoro zwraca strukturę tm. Nigdzie nie mogę znaleźć jej kodu by zobaczyć jak ona jest skonstruowana.
Edycja
[...]że jest słownie jedna kopia struktury tm, statyczna, używana przez kilka funkcji. Localtime wypełnia strukturę swoimi danymi i zwraca jej adres - wywołasz jeszcze raz to otrzymasz wskaźnik do tej samej struktury w tym samym miejscu pamięci, stare dane zostaną nadpisane. Funkcja stworzona w czasach, kiedy nikt nie myślał o czymś takim jak thread-safe.
tak więc to odpowiada na moje pytanie o localtime.
W takim razie jak napisać funkcję w C zwracającą ciąg znaków?