Datei Größe mit _stat64 -> Fehler FILE to const char *



  • Hi,

    ich würde gerne die Größe einer Datei ermitteln.
    Allerdings bekomme ich die Fehlermeldung:
    cannot convert parameter 1 from 'FILE *' to 'const char *'

    DA dies nur eine Auszug aus einem Größen Projekt ist, muss es auch FILE* m_Logfile bleiben.

    typedef struct _iobuf FILE;
    
    FILE * m_LogFile;
       char logdatei[] = "C:\\xyz\\xyz.txt";
       	struct __stat64 buf;
    	//char dateiname[]="C:\\xyz\\bingo.tyt";
    
    		 errno_t err = fopen_s(&m_LogFile , logdatei,"w");
    
    		if(err != 0)
    		{
    			printf( "Failed to open log file:\n");
    		}else
    		{
    			printf("Logfile successfully open\n");
    
       /* Get data associated with "crt_stat.c": */
       errno_t result = _stat64(m_LogFile, &buf );
    
       /* Check if statistics are valid: */
       if( result != 0 )
          printf( "Problem getting information" );
       else
       { 
          /* Output some of the statistics: */
          printf( "File size     : %ld KB\n", buf.st_size/1024 );
    
       }
    


  • Hallo,

    _stat64 nimmt nur den Datei-Pfad als erstes Argument, keinen FILE*.

    MfG,

    Probe-Nutzer



  • mmmh.

    Wie bekomme ich dann die Datei Größe ermittelt?



  • Nach langer Sucherei hier die Lösung:

    long size = filelength(fileno(m_LogFile));
    

Anmelden zum Antworten