@Capt_S: nazywaj swoje zmienne jakos bardziej logicznie, masz time_t tm a pozniej ta strukture tm, paskudnie to wyglada :S pozniej ci sie myli kolejnosc argumentow
@MamCieNaHita: exception i brak exception :D @filozof900: to nie moja funkcja, ja tylko chciałem podmienić localtime na localtime_s, bo mnie denerwował warning, a to jest już taki low-level, że nie wiem co tu się dzieje. :D @Ruy_Lopez: np. nie rozumiem o co chodzi w alokowaniu struktury, nigdy nie widziałem czegoś takiego :(
@Ruy_Lopez: np. nie rozumiem o co chodzi w alokowaniu struktury, nigdy nie widziałem czegoś takiego :(
@Capt_S: struct tm *t2; alokuje wskaznik, ktory na maszynach 64 bitowych bedzie zawsze 64 bitowy, bo jedyne co robi to pokazuje gdzie w pamieci jest struktura
ty musisz zaalkowac strukture czyli struct tm t2; (bez *) i wyciagnac do niej wskaznik przez &
@Capt_S: nope, localtime_s to wymysł C11 i jest bezpieczniejszy bo modyfikuje wybraną instancję struktury, np. lokalną, a nie globalny statyczny obiekt współdzielony przez wszystkie wątki.
@Capt_S: z localtime trochę pobałaganili i teraz na windowsie wersja thread-safe to localtime_s, a na linuxie localtime_r, obie funkcje mają parametry zamienione miejscami XD
dlaczego to działa:
time_t tm;time( &tm );
struct tm *t2 = localtime(&tm);
char buf[1024];
strftime( buf, sizeof(buf), "%c", t2 );
a to nie działa:
time_t tm;time( &tm );
struct tm *t2;
localtime_s(t2, &tm);
char buf[1024];
strftime( buf, sizeof(buf), "%c", t2 );
@Capt_S: struct tm *localtimes(const timet *restrict time, struct tm *restrict result);
widzisz kolejnosc tych parametrow?
@filozof900: to nie moja funkcja, ja tylko chciałem podmienić localtime na localtime_s, bo mnie denerwował warning, a to jest już taki low-level, że nie wiem co tu się dzieje. :D @Ruy_Lopez: np. nie rozumiem o co chodzi w alokowaniu struktury, nigdy nie widziałem czegoś takiego :(
struct tm t2;i przekaż&t2do funkcji@Capt_S: struct tm *t2; alokuje wskaznik, ktory na maszynach 64 bitowych bedzie zawsze 64 bitowy, bo jedyne co robi to pokazuje gdzie w pamieci jest struktura
ty musisz zaalkowac strukture czyli
struct tm t2; (bez *) i wyciagnac do niej wskaznik przez &
EDIT: a tak w ogóle to #jezykc a nie #cpp
@MamCieNaHita: wydawało mi się, że mnie czegoś uczą :P
localtime_sjest lepszy odlocaltime? :Plocaltime_sto wymysł C11 i jest bezpieczniejszy bo modyfikuje wybraną instancję struktury, np. lokalną, a nie globalny statyczny obiekt współdzielony przez wszystkie wątki.localtimetrochę pobałaganili i teraz na windowsie wersja thread-safe tolocaltime_s, a na linuxielocaltime_r, obie funkcje mają parametry zamienione miejscami XD