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.


Anmelden zum Antworten