Tak. Choć w pliku lepiej mieć timestamp a nie datę w formie kalendarzowej, żeby sobie życia nie utrudniać.
Tak, ale do tego trzeba napisać sobie funkcję. Wydaje mi się, że dość trudno by było to zrobić, bo czasem miesiąc ma 30, a czasem 31 dni, nie wspominając o lutym, a lata przestępne i nie to już inna bajka. Nie wiem jak to ugryźć :/
Na razie kombinuję w ten sposób:
#include <iostream>
#include <time.h>
#include <stdio.h>
#include <windows.h>
#include <fstream>
using namespace std;
time_t czas;
struct tm * data;
char godzina[80];
int main()
{
time( & czas );
data = localtime( & czas );
strftime(godzina, 80, "%a %m %d %H:%M:%S %Y", data);
cout<<godzina<<endl;
unsigned day_w, mon, day, hour, min, sek, year;
if (sscanf(godzina, "%u %u %u %u:%u:%u %u", &day_w, &mon, &day, &hour, &min, &sek, &year) == 7)
{
tm tm_;
tm_.tm_sec = sek;
tm_.tm_min = min;
tm_.tm_hour = hour;
tm_.tm_mday = day;
tm_.tm_mon = mon;
tm_.tm_year = year;
tm_.tm_wday = day_w;
tm_.tm_yday = 0;
tm_.tm_isdst = 0;
time_t zmienna = mktime( &tm_ );
cout<<ctime(&zmienna)<<endl;
}
Tylko o ile godzina daje mi w wyniku taki ciąg: Fri 01 23 15:10:30 2015, to zmienna w ogóle się nie wyświetla

Chyba coś pomyliłem przy konwersji struktury, nie? Wydaje mi się, że wszystkie zmienne w strukturze powinny być poprzedzone &, ale to wywala błędy.