Ftell -Funktion in c

Ftell -Funktion in c
Wie viele andere Programmiersprachen hat die C-Sprache viele eingebaute Funktionen entwickelt. Diese Funktionen wurden innerhalb der C -Sprache hinzugefügt, um unterschiedliche Funktionen auf verschiedenen Ebenen auszuführen.

Eine der Funktionen ist die Funktion „ftell ()“ des C -Anmeldungskonzepts. Diese Funktion wird höchstwahrscheinlich verwendet, um den vorhandenen Dateispeicherort des bereitgestellten Stream relativ zum Anfang der Datei zu lesen. Wenn der Dokumentenzeiger auf den letzten Ort des Dokuments verschoben wird. Der vorliegende Ort wird im langen Format zurückgegeben, und das Dokument kann über 32767 Informationsbytes enthalten. So haben wir beschlossen, die c ftell () in Ubuntu 20 zu decken.04 System.

Beginnen Sie mit Ubuntus Terminalstart, ich.e., Strg+Alt+t. Wir müssen eine neue Textdatei im Home -Ordner unseres Ubuntu -Systems erstellen. Nutzen Sie dies Berührungsanweisung, dies zu tun. Gehen Sie in den Home-Ordner Ihres Linux-Systems und öffnen Sie die neu erstellte Datei, indem Sie doppelt einschleppen. Fügen Sie einige Textdaten hinzu, speichern und schließen Sie sie.

Sie können sehen, dass wir die Datei erstellt haben.TXT-Datei und die darin unter den vereitelten Daten hinzugefügt. Wir werden diese Datei in unseren Beinahe-zu-Come-Beispielen verwenden.

$ CAT -Datei.txt

Beispiel 01:

Lassen Sie uns unsere ersten Beispiele für diesen Artikel ausgleichen. Sie müssen eine neue C-Type in Ihrem System über die Berührungsanweisung von Ubuntu zusammen mit dem Namen einer Datei mit der “erstellen.C ”Erweiterung. Diese Datei wird benötigt, um sich in einem der Redakteure von Ubuntu zu öffnen, um sie für einen Code zu verwenden. Sie können den VIM-, Text- oder Nano -Editor verwenden. Wir haben bisher den Redakteur „GNU Nano“ verwendet, um unseren Code ansprechender zu gestalten.

$ touch ftell.C
$ nano ftell.C

Als die Datei im Gnu Nano -Editor geöffnet wurde, wird sie zunächst leer sein. Wir müssen unseren C -Code mit der Verwendung von Header starten, höchstwahrscheinlich „stdio.H". Wir werden unseren Code in der Funktion main () dieses Codes ausführen.

Starten Sie die Funktion main () des Rückgabetyps "int". Wir haben den Zeigertyp -Dateideskriptor mit dem Dateiobjekt deklariert. Eine weitere Variable des ganzzahligen Typs wird ebenfalls deklariert, ich.e., "Länge". Jetzt müssen wir die bereits vorhandene Textdatei von unserem System mit der Funktion fopen () der C -Datei öffnen, um ihre Daten mit den Leserschreibungen zu lesen, i.e., "R". Wenn die Datei erfolgreich geöffnet würde, wird der Dateideskriptor mit einem ganzzahligen Wert zurückgegeben, höchstwahrscheinlich „1“.

Wir haben die Anweisung "If" verwendet, um zu überprüfen, ob der Dateideskriptorwert, den wir gerade haben, null ist oder nicht. In diesem Fall wird die PERROR () -Methode von C aufgerufen, um eine Fehleraufforderung zu generieren.e., "Es gibt einen Fehler". Nach dieser Anweisung "Wenn", wenn die Datei erfolgreich geöffnet wird.

Wir müssen die Option such_end als drittes Argument der Funktion fseek () nutzen. Die 0 in dieser Funktion wird verwendet, um nach dem Zeiger aus den 0 Positionen zu suchen. Die Länge der Gesamtdateigröße wurde aus der Verwendung der Funktion ftell () erhalten.

Die Datei wurde mit der Funktion fclose () mit dem darin verwendeten Dateideskriptor geschlossen. In der Printf -Anweisung wird nun die gesamten Datenbytes in unserer Textdatei mit der Variablen „Länge“ angezeigt. Speichern Sie Ihre Codedatei mit der Verknüpfung von Strg+s.

#enthalten
void main ()
Datei *fd;
int Länge;
fd = fopen ("Datei.txt "," r ");
if (fd == null)
Perror („Es gibt einen Fehler“);
return (-1);

fseek (fd, 0, such_end);
Länge = ftell (fd);
fcLose (fd);
printf ("unsere Dateigröße: %d Bytes \ n", Len);
return (0);

Beenden Sie den Nano -Editor mit Strg+X -Verknüpfung zusammen. Kompilieren Sie den C -Code über den "GCC" -Kompiler. Führen Sie danach Ihren Code mit dem aus./A.OUT ”Befehl. Sie können sehen, dass unsere Textdatei insgesamt 370 Bytes hat.

$ gcc ftell.C
$ ./A.aus

Beispiel 02:

Nehmen wir ein neues Beispiel, um die ftell () -Funktion von c in ihr zu verwenden. Verwenden Sie dieselbe Codedatei, um unseren Code aktualisiert zu machen. Verwenden Sie das „Stdio.H ”-Header und starten Sie die Funktion main (). Verwenden Sie den Punkttyp -Dateideskriptor „F“, um die Datei "Datei" Datei "Datei" zu öffnen.txt ”im Lesemodus. Deklarieren Sie eine Reihe von Größe 10, ich.e., "A". Wir haben die Funktion FSCANF () der C -Anmeldung verwendet, um die erste Zeichenfolge aus der Textdatei mit nicht mehr als 10 Buchstaben zu scannen.

Die Anweisung printf () verwendet den Dateideskriptor in seiner Funktion ftell (), um auch die Länge der ersten Zeichenfolge aus seiner Textdatei anzuzeigen.

#enthalten
void main ()
Datei *f = fopen ("Datei.txt "," r ");
Char A [10];
fscanf (f, "%s", a);
printf ("Position des Zeigers: %ld \ n", ftell (f);
return (0);

Nach dieser Code -Kompilierung und Ausführung zeigt diese Datei die Ausgabe, ich.e., die Position des Zeigers nach dem 1st Die Zeichenfolge ist 4, wie unten gezeigt.

$ gcc ftell.C
$ ./A.aus

Lassen Sie uns die erste Zeichenfolge in der Datei erstellen.TXT -Datei ein wenig länger mit einfacher Bearbeitung.

$ CAT -Datei.txt

Verwenden Sie nun die gleiche Codemenge ohne Aktualisierung/Änderung darin, um zu sehen, wie es sich ergibt. Wir haben das Array der Größe 10 für das „A“ -Array verwendet. Wenn die Größe weniger ist, wird die Gesamtgröße der ersten Zeichenfolge angezeigt, i, i.e., Länge, aber auch etwas Ausgang auf der Ausgangsfläche zeigen.

Die Ausführung dieses Code zeigt uns, dass die Größe 28 ist, das Programm jedoch zerschlagen wird, da die erste Zeichenfolge 28 Größen beträgt und Sie einen Bereich mit Größe 10 verwendet haben.

$ gcc ftell.C
$ ./A.aus

Abschluss:

In diesem Artikel wurden die kleinen Details zur Verwendung der Funktion ftell () von C erörtert, um die Größe der Daten zu erhalten, die in einem bestimmten Dokument verwendet werden. Wir haben zwei der einfachen Abbildungen besprochen, um das Konzept der FTell -Funktion in der C -Programmiersprache zu erklären.