Dátum: 2000. január 1., 12:47
Feladó: Külső hozzászóló --
Tárgy: 19100
Sirs,
Bocs, az offtopic-ert. Tipikus, szinte biztos, hogy C programozasi hiba.
Sok esetben igy iratjak ki az evszamot:
printf( "19%2d", tm.tm_year );
Nos, a datumtarolas a C-ben 1900-tol szamitodik, azaz a 2000. ev, az neki
100. A printf pedig ugyan tartalmazza azt, hogy 2 jegyu legyen a szam, de
ez csak a minimum, tobb szamot bizony igy csak kiir, azaz ott lesz a szaz:
19100. Javitas:
printf( "%4d", tm.tm_year + 1900 );
Nyilvan nem pont igy van a kodban, de a lenyeg ez.
Ali
aki az elmult evet az Y2K jegyeben kodolgatta vegig... ;)
|