Creation time von Ordner auslesen
-
Hallo zusammen
Ich habe ein Probelm beim auslesen beim auslesen der creation Time von einem Ordner.Hier der Code
int iPrintDatastruct_m(char *pcFile) { char caBuffer[256]; char caBuffer2[256]; char caTest[512]; WIN32_FIND_DATA daten; HANDLE h; FILETIME *file; SYSTEMTIME time; memset(caBuffer,0,sizeof(caBuffer)); strcpy(caBuffer2,pcFile); sprintf(caBuffer,"%s\\*.*",caBuffer2); //printf("%s\n",caBuffer); h=FindFirstFile(caBuffer, &daten); if(INVALID_HANDLE_VALUE==h) { //printf("%s\n",caBuffer); return(0); } do { if (daten.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) { if((strcmp(daten.cFileName,".")==0) || (strcmp(daten.cFileName,"..")==0)) continue; printf("%s\\%s \n",caBuffer2,daten.cFileName,daten.ftCreationTime); memset(file,0,sizeof(FILETIME)); *file=daten.ftCreationTime; <--- Fehler FileTimeToSystemTime(file,&time); printf("%d% d% d\n",time.wYear,time.wMonth,time.wDay); sprintf(caTest,"%s\\%s" ,caBuffer2,daten.cFileName); iPrintDatastruct_m(caTest); } } while(FindNextFile(h, &daten)); return(1); }Der Fehler tritt erst nach 2 -3 Orner auf
Fehler; make: *** [run] Segmentation fault (core dumped)
Sieht jemand den Fehler?
-
Du hast da einen Zeiger
FILETIME *file;angelegt, der aber nirgends hinzeigt. Da wundert es mich, daß der Zugriff erst beim dritten Schleifendurchlauf auftritt.
-
Danke, hatte einen Denkfehler...
Funktioniert jetzt.