Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Ajan tallentaminen tiedostoon

fingon [30.12.2007 15:01:16]

#

Mikä olisi järkevin tapa tallentaa nykyinen aika tiedostoon?
Kokeilin tuota asctime-funktiota, mutta sekin antaa väärässä muodossa tuon ajan.
Pitäisi saada yksinkertaisesti year-month-day-hour-min-sec numeroina, ja tämä sen takia, että sitä on sitten mukavampi lukea sieltä uudestaan.

Eli jos tuohon on joku yksinkertainen juttu, niin kertokaa toki. Olisi suureksi avuksi!

ville-v [30.12.2007 15:10:11]

#

http://cplusplus.com/reference/clibrary/ctime/strftime.html

Sivun alareunasta löytyy esimerkkikin, vaihdat vain puts():n tiedostoon kirjoitukseksi.

fingon [30.12.2007 15:25:11]

#

Juu kyllä minä tuon kahtelinkin jo aikasemmin, vaan kun en älyä sitä, miten saan sen ajan juuri halutussa muodossa siihen tiedostoon.
Siis tuleeko se silloin jotenkin näin:

fputs(nykyinen_aika,file);

vai:

fputs(&Y-&d-&m jne, file);

vai miten? Ei oikein mikään muu kuin tuo asctime tunnu toimivan ja silläkin se tulee vähän väärässä muodossa.

ville-v [30.12.2007 15:39:44]

#

Tiedät siis miten ajan saa oikeaan muotoon mutta et tiedä miten tiedostoon kirjoitetaan? Muunnetaas vähän tuota esimerkkiä:

#include <stdio.h>
#include <time.h>

int main ()
{
  time_t rawtime;
  struct tm * timeinfo;
  char buffer [80];

  time ( &rawtime );
  timeinfo = localtime ( &rawtime );
  //Aika muuttujaan buffer
  strftime (buffer,80,"%Y-%m-%d-%H-&M-%S: Tapahtui sitä ja tätä.",timeinfo);

  //Tiedosto auki
  FILE filu;
  filu = fopen("aika.txt", "a");
  //Aika tiedostoon muuttujasta buffer
  fputs(buffer,filu);
  //Tiedosto kiinni
  fclose(filu);
  return 0;
}

Tajusitko?

fingon [30.12.2007 19:00:08]

#

Kyllä. Kiitän ja kumarran!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta