Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    leggere la data di modifica di un file c++

    ciao a tutti
    avrei l'urgente bisogno di risolvere un problema.
    sto scrivendo un programmino c++ per la gestine di dati da un file binario in devcpp.il mio programma dovrebbe eseguire il merge di 2 file se uno dei due viene modificato. il mio problema è scoprire la data di modifica dei due file e inserirla in una stringa.
    i file in questione non sono scritti sa me per qui no posso aggiungere nessuna stringa con la data.

    grazie a tutti ciao.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se stiamo parlando di Windows, puoi usare la funzione GetFileTime

    http://msdn.microsoft.com/library/de...etfiletime.asp

    P.S. "per cui" e non "per qui" VVoVe:

  3. #3
    grazie per la risposta, ma non essendo esperto di programmazione avrei bisogno di un piccolo esempio che indicasse anche le librerie .h da includere. l'ambiete di sviluppo che sto usando è DevC++.

    ciao.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Nella pagina che ti ho indicato

    Header ... Declared in Winbase.h; include Windows.h.

  5. #5
    ancora problemi
    ti scrivo il codice

    #include <cstdlib>
    #include <iostream>
    #include <fstream>
    #include <string>
    #include <windows.h>
    //questo file deve essere messo in esecuzione automatica di windows
    using namespace std;

    int main(int argc, char *argv[])
    {
    FILETIME ftCreate, ftAccess, ftWrite;
    SYSTEMTIME st;

    //dichiarizioni e aperture dei file
    ifstream fileS1;
    const char *nomeS1 = "file.txt";

    //while(1){

    GetSystemTime(&st);
    cout << st.wYear << endl;
    cout << st.wMonth << endl;
    cout << st.wDayOfWeek << endl;
    cout << st.wDay << endl;
    cout << st.wHour << endl;
    cout << st.wMinute << endl;
    cout << st.wSecond << endl;
    fileS1.open(nomeS1 , ios::in);
    GetFileTime(&fileS1, &ftCreate, &ftAccess, &ftWrite);

    FileTimeToSystemTime(&ftCreate, &st);
    cout << "create" << st.wMonth << "/"<< st.wHour << "/" << st.wMinute << endl;

    FileTimeToSystemTime(&ftAccess, &st);
    cout << "Access" << st.wMonth << "/"<< st.wHour << "/" << st.wMinute << endl;

    FileTimeToSystemTime(&ftWrite, &st);
    cout << "Write" << st.wMonth << "/"<< st.wHour << "/" << st.wMinute << endl;


    fileS1.close();
    system("PAUSE");

    //}



    system("PAUSE");
    return EXIT_SUCCESS;
    }




    che produce questo

    create 1/0/57
    access 7/6/22
    write 9/9/45

    queste date non cambiano anche se apro il file , se lo richreo o se ne cambio il contenuto

    mi dici dove sto sbagliando?

    un'altra domanda: coma faccio a sospendere l'esecuzione per x secondi?

    grazie
    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.