[C++] "Data del sistema"

di
Anonimizzato25673
il
5 risposte

[C++] "Data del sistema"

Salve a tutti.
Il mio problema è il seguente:
ho generato una classe "Data_I" di seguito il codice di un costruttore della classe:

Data_I::Data_I()
{// costruttore che restituisce la data attuale del computer
	struct tm adesso;
	__time64_t long_time;
	_time64(&long_time);
	_localtime64_s(&adesso, &long_time);
	setData( adesso.tm_mday, 1 + adesso.tm_mon, 1900 + adesso.tm_year);// gennaio è 0; l'anno 1900 è 0
}
funziona tutto, il problema è che "non ho capito esattamente quello che ho fatto
mi spiego:
ho creato la struttura tm che ho chiamato "adesso" e da questa leggo correttamente il giorno il mese e l'anno del pc. e inizializzo correttamente i membri della classe (anno, mese, giorno) attraverso la funzione membro setData.
quello che non capisco
sono le due righe

	__time64_t long_time;
	_time64(&long_time);
per piacere spiegatemi cosa "ho fatto"

5 Risposte

  • Re: [C++] "Data del sistema"

    Questo è il problema del copia incolla senza studiate...

    La funzione _time64 restituisce l'orario attuale nella variabile passata come argomento nel formato a 64 bit di secondi passati dal 1970
  • Re: [C++] "Data del sistema"

    E' vero, ho fatto il copia e incolla, ma non ho capito e cerco di farlo.(sono autodidatta, ho "anta" anni e studio il c++ per hobby)

    quindi:

    __time64_t è un tipo di variabile in grado di memorizzare il "tempo" espresso dal PC,
    _time64 è una funzione che memorizza il "tempo" espresso dal PC
    mentre la funzione _localtime64_s
    costruisce la struttura "adesso" partendo dal "tempo" espresso dal PC

    mentre la localtime "vecchia" costruiva direttamente la struttura adesso, ma non è una funzione sicura (il perché non so ma per il momento è un argomento per me ostico)

    corretto?, se così grazie per l'aiuto.
  • Re: [C++] "Data del sistema"

    _time64 memorizza il tempo "attuale" valido fino al 3000

    Tutto corretto ma devi documentarti almeno online. Leggi


    _time64
    https://docs.microsoft.com/it-it/cpp/c-runtime-library/reference/time-time32-time64?view=vs-2017

    _localtime64_s
    https://docs.microsoft.com/it-it/cpp/c-runtime-library/reference/localtime-s-localtime32-s-localtime64-s?view=vs-2017

    P.S. Anche io sono 'anta ma non hobbysta. Tuttavia studio ancora, sui libri e online quando non posso sui libri. Ti consiglio di fare altrettanto e solo dopo rivolgerti ai forum.
  • Re: [C++] "Data del sistema"

    In genere lo faccio, ma probabilmente ieri sera ero "cotto" e non riuscivo a capirci

    comunque grazie
  • Re: [C++] "Data del sistema"

    Comunque, prego
Devi accedere o registrarti per scrivere nel forum
5 risposte