Einführung
In diesem Lab werden wir lernen, wie man die Größe einer beliebigen Datei in der C-Programmiersprache ermittelt. Wir werden die Funktionen fseek() und ftell() verwenden, um die Größe der Datei zu ermitteln.
Hinweis: Sie müssen die Datei
~/project/main.cselbst erstellen, um zu üben und zu lernen, wie man sie mit gcc kompiliert und ausführt.
cd ~/project
## main.c erstellen
touch main.c
## main.c kompilieren
gcc main.c -o main
## main ausführen
./main
Header-Dateien einbinden
Wir beginnen, indem wir die erforderlichen Headerdateien stdio.h und stdlib.h einbinden.
#include<stdio.h>
#include<stdlib.h>
main()-Funktion erstellen
Als nächstes werden wir die main()-Funktion erstellen, die der Einstiegspunkt unseres C-Programms ist.
int main()
{
return 0;
}
Variablen definieren
Jetzt werden wir die erforderlichen Variablen definieren. Wir brauchen einen FILE-Zeiger, um die Datei zu halten. Wir brauchen auch eine char-Variable, um das aktuelle Zeichen zu speichern, während wir die Datei lesen. Schließlich brauchen wir eine Ganzzahl size, um die Größe der Datei zu speichern.
FILE *fp;
char ch;
int size = 0;
Die Datei öffnen
Jetzt werden wir die Datei mit der fopen()-Funktion öffnen und überprüfen, ob die Datei erfolgreich geöffnet wurde oder nicht.
fp = fopen("MyFile.txt", "r");
if (fp == NULL)
{
printf("\nDatei konnte nicht geöffnet werden...\n");
return 1;
}
else
{
printf("\nDatei geöffnet...\n");
}
Den Dateizeiger verschieben
Wir werden nun den Dateizeiger an das Ende der Datei mit der fseek()-Funktion verschieben.
fseek(fp, 0, 2);
Die Größe der Datei ermitteln
Als nächstes werden wir die aktuelle Position des Dateizeigers mit der ftell()-Funktion ermitteln und sie in die Variable size speichern.
size = ftell(fp);
Die Größe der Datei ausgeben
Schließlich werden wir die Größe der Datei mit der printf()-Funktion ausgeben.
printf("Die Größe der angegebenen Datei beträgt: %d Bytes\n", size);
Die Datei schließen
Wir haben mit der Datei fertig, also werden wir sie mit der fclose()-Funktion schließen.
fclose(fp);
Vollständiger Programmcode
Hier ist der vollständige Code des C-Programms, um die Größe einer beliebigen Datei zu ermitteln.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char ch;
int size = 0;
fp = fopen("MyFile.txt", "r");
if (fp == NULL)
{
printf("\nDatei kann nicht geöffnet werden...\n");
return 1;
}
else
{
printf("\nDatei geöffnet...\n");
}
fseek(fp, 0, 2);
size = ftell(fp);
printf("Die Größe der angegebenen Datei beträgt: %d Bytes\n", size);
fclose(fp);
return 0;
}
Zusammenfassung
In diesem Lab haben wir gelernt, wie man in der C-Programmiersprache die Größe einer beliebigen Datei mit den Funktionen fseek() und ftell() ermittelt. Wir haben die folgenden Themen behandelt:
- Einbinden von Header-Dateien
- Erstellen der
main()-Funktion - Definieren von Variablen
- Öffnen der Datei
- Verschieben des Dateizeigers
- Ermitteln der Dateigröße
- Ausgeben der Dateigröße
- Schließen der Datei
Es ist eine gute Praxis, die Datei immer nach dem Lesen oder Schreiben zu schließen.



