FILETIME in int oder char konvertieren
-
Tag,
Ich muss für meine Anwendung, ein kleines FTP-SyncTool, die letzte Änderungszeit auslesen und diese dann in einer Variable speichern. Um danach mit dieser Zeit zu arbeiten bräuchte ich diese als "int" oder als "char". Da ich im Netz nirgends das richtige Gefunden habe, wollte ich fragen ob jemand eine Idee hat wie man diese konvertierung vornehmen könnte.
Danke bereits im vorraus
Gruss Simon
-
FileTimeToSystemTime?
-
MSDN schrieb:
Remarks
To convert a FILETIME structure into a time that is easy to display to a user, use the FileTimeToSystemTime function.
-
-
Mit FileTimeToSystemTime funktioniert es nicht, weil (gemäss VC++) FileTime nicht in const FileTime* umgewandelt werden kann.
In C/C++ existieren sowieso zuviele Variabelntypen... einer für Zeiteinheiten würde meiner Meinung nach reichen."MSDN schrieb", ich weiss nich warum, jedoch steht in der MSDN vieles das nicht wirklich funktioniert oder unvollständig ist. Beispiele sind mal vorhanden dann wieder nicht, dann nur für VB und und und... Ich besitze die gesamte MSDN, jedoch hilf diese nur selten weiter.
-
ctime, time, such mal danach, kannst ja auch Sachen nehmen die nicht von der MFC kommen
-
mut schrieb:
Mit FileTimeToSystemTime funktioniert es nicht, weil (gemäss VC++) FileTime nicht in const FileTime* umgewandelt werden kann.
Dann hast du die Funktion falsch benutzt. Zeig doch mal den Code.
"MSDN schrieb", ich weiss nich warum, jedoch steht in der MSDN vieles das nicht wirklich funktioniert oder unvollständig ist. Beispiele sind mal vorhanden dann wieder nicht, dann nur für VB und und und... Ich besitze die gesamte MSDN, jedoch hilf diese nur selten weiter.
Das liegt an dir.
-
Also dies wäre mein Code:
HANDLE fHandle; WIN32_FIND_DATA wfd; CString localdirquery2 = "\\*.*"; CString file[10]; int i = 0; fHandle=FindFirstFile(localdirquery+localdirquery2,&wfd); do { if (!( (wfd.cFileName[0]=='.') && ( (wfd.cFileName[1]=='.' && wfd.cFileName[2]==0) || wfd.cFileName[1]==0 ) )) { if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { MessageBox(wfd.cFileName,"Folgendes Verzeichnis wurde gefunden:",0); } else { file[i] = wfd.cFileName; SYSTEMTIME stUTC; FileTimeToSystemTime(wfd.ftLastWriteTime, &stUTC); MessageBox(file[i], "Folgende Datei gefunden:",0); i++; } } }while (FindNextFile(fHandle,&wfd)); FindClose(fHandle);
-
Und was steht in der MSDN Library unter FileTimeToSystemTime? Der erste Parameter muss ein Zeiger auf einen FILETIME-Struktur sein. Du musst also die Adresse von wfd.ftLastWriteTime übergeben.
-
Hmmm.... Ja das mit der Adresse ist jetzt auch wieder klar... Habe leider schon lange nicht mehr programmiert und deswegen versteh ich auch nicht mehr alles...
Aber danke für die Hilfe!