Wie kann man mit C die Größe einer Datei erkennen oder ob sie einen Inhalt hat.
hi,
schau die doch mal die funktion stat() an …
man stat
Wie kann man mit C die Größe einer Datei erkennen oder ob sie
einen Inhalt hat.
Huhu
Wie mein Vorschreiber schon sagte, gibt es die „stat()“-Funktion. Diese ist leider nicht C/C++ Standard, sondern wird von einigen Compilern angeboten, von anderen nicht. Wenn du sicher gehen möchtest, dann ermittelst du die Dateigröße z.B. wie folgt:
#include
void main()
{
FILE \*file= fopen( "datei.xyz", "rb" ); //Datei zum Lesen öffnen.
if (0==file)
{ //Fehler, die Datei konnte nicht geöffnet werden
}
fseek( file, 0, SEEK\_END ); //Dateizeiger ans Ende setzen
size\_t fileSize= ftell( file ); //Dateizeiger abfragen
fclose( file ); //Datei wieder schließen
}
Falls die Datei nicht geöffnet werden konnte, hast du entweder keine Zugriffsberechtigung oder sie existiert nicht.
Viele Grüße
Stefan.
Probs mal mit dieser - selbst geschriebenen - Funktion:
int GetFileSize( AnsiString filename )
{
WIN32_FIND_DATA ffdata;
HANDLE hFindFile;
hFindFile = ::FindFirstFile( filename.c_str(), &ffdata );
if ( hFindFile == INVALID_HANDLE_VALUE )
return -1;
int result = ffdata.nFileSizeLow;
::FindClose( hFindFile );
return result;
}
In diesem Sinne…
Daystalker
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]