
File Handling in C-Sprache
In diesem Abschnitt werden wir über Dateien, die sehr wichtig für die Speicherung von Informationen sind permanent zu diskutieren. Wir speichern Informationen in Dateien für viele Zwecke, wie die Datenverarbeitung durch unsere Programme.
Was ist eine Datei?
Abstrakt, ist eine Datei, eine Sammlung von Bytes auf einem sekundären Speichergerät, die in der Regel ist eine Scheibe irgendeiner Art gespeichert. Die Sammlung von Bytes kann interpretiert werden, zum Beispiel, als Zeichen, Wörter, Zeilen, Absätzen und Seiten aus einem Textdokument, Felder und Datensätze von einer Datenbank oder Pixel aus einem grafischen Bild. Die Bedeutung, um eine bestimmte Datei angehängt wird vollständig von der Datenstrukturen und Operationen durch ein Programm, um die Datei verwendet ermittelt. Es ist denkbar (und es manchmal geschieht), dass eine Grafik-Datei wird gelesen und angezeigt durch ein Programm zur textuellen Daten zu verarbeiten. Das Ergebnis ist, dass keine sinnvolle Ausgabe erfolgt (wahrscheinlich) und dies ist zu erwarten. Eine Datei ist einfach eine Maschine zu entziffern Speichermedien, wo Programme und Daten für den Maschinen-Nutzung gespeichert werden.
Grundsätzlich gibt es zwei Arten von Dateien, die Programmierer beschäftigen sich mit Textdateien und Binärdateien. Diese zwei Klassen von Dateien werden in den folgenden Abschnitten besprochen werden.
ASCII-Textdateien
Eine Textdatei kann einen Strom von Zeichen, die ein Computer sequentiell Prozess sein. Es ist nicht nur verarbeitet, sondern nur sequentiell in Fahrtrichtung. Aus diesem Grund ist eine Textdatei, in der Regel nur für eine Art von Operation (Lesen geöffnet wird, schriftlich oder Anhängen) zu einem bestimmten Zeitpunkt.
Ebenso seit Textdateien verarbeiten nur Zeichen, sie können nur Daten lesen oder schreiben ein Zeichen zu einem Zeitpunkt. (In C Programming Language, sind Funktionen, die sich mit Textzeilen versehen, aber diese noch wesentlich Prozessdaten ein Zeichen in einer Zeit,.) Ein Text-Stream in C ist eine spezielle Art von Datei. Je nach den Anforderungen des Betriebssystems kann Zeilenumbrüche zu oder von Wagenrücklauf-Kombinationen je nachdem, ob Daten werden auf schriftliche oder gelesen, die Datei umgewandelt werden. Andere Konvertierungen Charakter kann auch auftreten, um die Speicheranforderungen des Betriebssystems zu erfüllen. Diese Übersetzungen auftreten, transparent, und sie treten auf, weil der Programmierer die Absicht, eine Textdatei Prozess signalisiert hat.
Binär-Dateien
Ein Binär-Datei ist nicht anders als eine Textdatei. Es ist eine Sammlung von bytes. In C Programming Language ein Byte ein Zeichen und sind gleichwertig. Daher ist eine Binär-Datei wird auch als ein Zeichen Stream genannt, aber es gibt zwei wesentliche Unterschiede.
- Keine spezielle Verarbeitung der Daten erfolgt und jedes Byte der Daten zu oder von der Festplatte übertragen unbearbeitet.
- C Programming Language stellt keine Konstrukte auf die Datei, und es kann aus oder geschrieben, um gelesen werden, in irgendeiner Art und Weise durch den Programmierer gewählt.
Binär-Dateien kann entweder sequentiell bearbeitet werden oder, je nach den Bedürfnissen der Anwendung können sie verarbeitet mit Random-Access-Techniken. In C Programming Language, Verarbeitung einer Datei mit wahlfreiem Zugriff Techniken verbunden Verschieben der aktuellen Position in der Datei an einem geeigneten Ort in der Datei vor dem Lesen oder Schreiben von Daten. Dies deutet auf ein zweites Merkmal von Binärdateien
â € "sie in der Regel verarbeitet mit Lese-und Schreibvorgänge gleichzeitig.
Zum Beispiel wird eine Datenbank-Datei erstellt und verarbeitet werden als Binär-Datei. Einen Datensatz zu aktualisieren Operation beteiligt Auffinden der entsprechenden Datensatz, das Lesen der Platte in den Speicher, Modifizieren es in gewisser Weise, und schließlich das Schreiben der Datensatz wieder auf die Festplatte auf seiner entsprechenden Stelle in der Datei. Solche Operationen sind häufig zu viele Binär-Dateien, sind aber selten in Anwendungen gefunden, die Prozess-Textdateien.
Erstellen einer Datei und die Ausgabe einige Daten
Um Dateien zu erstellen, müssen wir über File I / O, dh wie die Daten zu schreiben in eine Datei, wie Daten aus einer Datei lesen zu lernen. Wir werden diesen Abschnitt mit einem Beispiel für das Schreiben von Daten in eine Datei zu starten. Wir beginnen wie zuvor mit den Include-Anweisung für stdio.h, dann definieren Sie einige Variablen für den Einsatz in der beispielsweise auch ein ziemlich seltsam aussehenden neuen Typs.
/ * Programm zum Erstellen einer Datei und schreibt einige Daten der Datei * / # Include <stdio.h> # Include <stdio.h> main () ( FILE * fp; char stuff [25]; int index; fp = fopen ("TENLINES.TXT", "w"); / * zum Schreiben geöffnet * / strcpy (Bestellung: "Dies ist ein Beispiel für Zeile."); for (index = 1; Index <= 10; index + +) fprintf (fp, "% s% d Line number \ n", stuff, index); fclose (fp); / * Schließen Sie die Datei, bevor sie beendet Programm * / )
Der Typ-Datei ist für eine Datei variabel eingesetzt und ist in der stdio.h definiert. Es wird verwendet, um einen Dateizeiger für den Einsatz in Datei-Operationen zu definieren. Bevor wir in eine Datei schreiben kann, müssen wir uns öffnen. Was es wirklich heißt, wir müssen dem System mitteilen, dass wir wollen, um eine Datei zu schreiben und was der Dateiname ist. Wir tun dies mit dem fopen ()-Funktion in der ersten Zeile des Programms dargestellt. Der Dateizeiger fp in unserem Fall, verweist auf die Datei und zwei Argumente in den Klammern erforderlich, zunächst den Dateinamen, gefolgt von den Dateityp.
Der Name der Datei ist keine gültige DOS-Dateinamen ein, und können in Groß-oder Kleinbuchstaben oder sogar gemischt ausgedrückt werden, wenn Sie dies wünschen. Es ist in doppelte Anführungszeichen eingeschlossen. Für dieses Beispiel haben wir den Namen TENLINES.TXT gewählt haben. Diese Datei sollte nicht auf Ihrer Festplatte existieren zu diesem Zeitpunkt. Wenn Sie eine Datei mit diesem Namen haben, sollten Sie seinen Namen zu ändern oder zu verschieben, weil es, wenn wir dieses Programm ausführen, wird ihr Inhalt gelöscht werden. Wenn Sie dona € ™ t haben eine Datei mit diesem Namen, das ist gut so, weil wir wird man anlegen und einige Daten hinein. Sie sind berechtigt, ein Verzeichnis mit der Datei name.The Verzeichnis muss natürlich auch ein gültiges Verzeichnis sonst tritt ein Fehler auf. Auch, weil der Weg C Griffe Zeichenketten, das Verzeichnis Trennzeichen â € ~ \ â € ™ zweimal geschrieben werden müssen. Zum Beispiel, wenn sich die Datei in dem \ PROJEKTE Unterverzeichnis abgelegt werden, dann den Dateinamen wie "\ \ Projects \ \ TENLINES.TXT eingegeben werden sollten". Der zweite Parameter ist die Datei-Attribut und kann jede der drei Buchstaben R, W, oder ein, und müssen kleingeschrieben sein.
Reading (r)
Wenn ein R verwendet wird, die Datei zum Lesen geöffnet wird, aw wird verwendet, um eine Datei anzugeben, die zum Schreiben benutzt werden, und ein a gibt an, dass Sie zusätzliche Daten an den append bereits in einer bestehenden Datei wünschen. Die meisten C-Compiler haben andere Dateiattribute verfügbar; überprüfen Sie Ihre Reference Manual für weitere Details. Mit dem R zeigt an, dass die Datei angenommen wird, um eine Textdatei sein. Öffnen einer Datei zum Lesen erfordert, dass die Datei bereits vorhanden ist. Wenn es nicht vorhanden ist, wird die Datei Zeiger auf NULL gesetzt werden können und durch das Programm überprüft werden.
Hier ist ein kleines Programm, das eine Datei liest und zeigt seinen Inhalt auf dem Bildschirm.
/ * Programm, um den Inhalt einer Datei auf dem Bildschirm anzuzeigen * / # Include <stdio.h> void main () ( FILE * fopen (), * fp; int c; fp = fopen ("prog.c", "r"); c = getc (fp); while (c! = EOF) ( putchar (c); c = getc (fp); ) fclose (fp); )
Schreiben (w)
Wenn eine Datei zum Schreiben geöffnet wird, wird es erstellt, wenn es nicht schon existiert und es wird zurückgesetzt, wenn es tut, sich in die Löschung aller Daten bereits vorhanden sein. Mit dem W zeigt an, dass die Datei angenommen wird, um eine Textdatei sein.
Hier ist das Programm in einer Datei erstellen und schreiben Sie einige Daten in die Datei.
# Include <stdio.h> int main () ( FILE * fp; file = fopen ("datei.txt", "w"); / * Erstellen Sie eine Datei und fügen Sie Text * / fprintf (fp, "% s", "Dies ist nur ein Beispiel :)"); / * schreibt Daten in die Datei * / fclose (fp); / * getan! * / return 0; )
Anfügen (a)
Wenn eine Datei zum Anhängen geöffnet wird, wird es erstellt, wenn es nicht schon existiert und es wird zunächst leer sein. Wenn es existiert, wird die Dateneingabe Punkt am Ende der vorliegenden Daten, so dass keine neuen Daten auf alle Daten, die bereits in die Datei aufgenommen werden positioniert werden. Mit dem A bedeutet, dass die Datei angenommen wird, um eine Textdatei sein.
Hier ist ein Programm, das Text in eine Datei, die bereits existiert, und es gibt einen Text in der Datei hinzufügen.
# Include <stdio.h> int main () ( FILE * fp file = fopen ("datei.txt", "a"); fprintf (fp, "% s", "Dies ist nur ein Beispiel :)"); / * append einigen Text * / fclose (fp); return 0; )
Ausgeben, um die Datei
Die Aufgabe der tatsächlich ausgeben, um die Datei ist fast identisch mit der Ausgabe haben wir bereits auf die Standard-Ausgabe-Gerät getan haben. Der einzige wirkliche Unterschied sind die neuen Namen und Funktion der Zugabe der Dateizeiger als einer der Funktionsargumente. In dem Beispiel-Programm ersetzt fprintf unserer vertrauten printf-Funktion ein, und der Dateizeiger zuvor definiert ist das erste Argument in den Klammern. Der Rest der Aussage aussieht und in der Tat identisch ist, die printf-Anweisung.
Schließen einer Datei
Zum Schließen einer Datei verwenden Sie einfach die Funktion fclose mit den Dateizeiger in die Klammern. Eigentlich, in diesem einfachen Programm, ist es nicht notwendig, um die Akte zu schließen, da das System alle offenen Dateien vor der Rückkehr in DOS zu schließen, aber es gehört zum guten Programmierstil für Sie auf alle Dateien zu schließen, trotz der Tatsache, dass sie geschlossen werden automatisch, denn das wäre wie eine Erinnerung, um Sie über handeln, welche Dateien am Ende der einzelnen Programme geöffnet sind.
Sie können eine Datei zum Schreiben zu öffnen, schließen und öffnen Sie es zum Lesen, dann schließen Sie es und öffnen es erneut zum Anhängen, etc. Jedes Mal, wenn Sie es öffnen, könnten Sie die gleiche Datei-Zeiger verwenden, oder Sie können ein anderes ein. Der Dateizeiger ist einfach ein Werkzeug, das Sie verwenden, um eine Datei zu zeigen und Sie entscheiden, welche Datei es wird Punkt. Kompilieren und Ausführen dieses Programms. Wenn Sie es ausführen, werden Sie nicht bekommen jede Ausgabe auf dem Monitor, weil es doesnâ € ™ t erzeugen keine. Nach dem Ausführen, suchen Sie in Ihrem Verzeichnis für eine Datei namens TENLINES.TXT und geben Sie es, das ist, wo Ihr Ausgang wird. Vergleichen Sie die Ausgabe mit, dass im Programm angegeben, sie sollten sich darauf einigen! Nicht löschen die Datei mit dem Namen TENLINES.TXT noch, wir werden sie in
einige der anderen Beispiele in diesem Abschnitt.
Lesen aus einer Textdatei
Nun zu unserem ersten Programm, das aus einer Datei liest. Dieses Programm beginnt mit den bekannten gehören, einige Daten Definitionen, und die Datei öffnen Aussage, die keine Erklärung, außer der Tatsache, dass ein r ist hier, weil wir es lesen wollen eingesetzt werden, erfordern sollte.
# Include <stdio.h> main () ( FILE * fp; char c; funny = fopen ("TENLINES.TXT", "r"); if (fp == NULL) printf ("Datei existiert nicht \ n"); else ( do ( c = getc (fp); / * Hole ein Zeichen aus der Datei * / putchar (c); / * zeigt es auf dem Monitor * / ) While (c! = EOF) / * wiederholen, bis EOF (end of file) * / ) fclose (fp); )
In diesem Programm können wir überprüfen, ob die Datei existiert, und wenn es funktioniert, haben wir den Hauptteil des Programms auszuführen. Wenn es nicht drucken wir eine Nachricht, und beenden. Wenn die Datei nicht existiert, wird das System den Zeiger gleich NULL, die wir testen können. Der Hauptteil des Programms ist eine Do While-Schleife, in der ein einzelnes Zeichen aus der Datei und die Ausgabe an den Monitor, bis ein EOF (Ende der Datei zu lesen) ist aus der Eingabedatei festgestellt. Die Datei wird dann geschlossen und das Programm beendet. An diesem Punkt haben wir das Potenzial für eine der häufigsten und verwirrenden Probleme der Programmierung in C. Die Variable aus dem getc Funktion zurückgegeben wird, ein Charakter, so können wir eine char-Variable für diesen Zweck verwenden. Es ist ein Problem, das hier entwickeln könnten, wenn wir auf eine unsigned char verwenden jedoch passiert, weil C in der Regel liefert ein minus eins für ein EOF - die eine Variable vom Typ unsigned char nicht
enthalten kann. Ein Typ unsigned char-Variable kann nur die Werte von null auf 255, so wird es eine 255 für ein minus eins in C. Rückkehr Dies ist eine sehr frustrierende Problem, zu versuchen, zu finden. Das Programm kann nie die EOF und wird daher nie die Schleife beenden. Dies ist leicht zu verhindern: immer einen char oder int-Typ-Variable für den Einsatz in der Rückkehr ein EOF. Es ist ein weiteres Problem mit diesem Programm, aber wir werden darum kümmern, wenn wir das nächste Programm zu erhalten und lösen sie mit dem einen nach.
Nach dem Kompilieren und Ausführen dieses Programms und sind mit den Ergebnissen zufrieden, wäre es eine gute Übung, um den Namen zu ändern und TENLINES.TXT das Programm erneut ausführen, um zu sehen, dass die NULL-Test auch tatsächlich wie angegeben. Achten Sie darauf, den Namen wieder ändern, weil wir noch nicht fertig mit TENLINES.TXT.
Seiten: [Seite - 1] [Seite - 2] [Seite - 3] [Seite - 4]
Tags: C + + Programmierung , Datei , Text-Datei
Gefällt was Sie sehen?
Werden Sie einer der Stammgäste und abonnieren! Sie sehen die ersten wissen, wann wir weitere tolle Beiträge wie diese fügen werden. Join up entweder durch RSS Feeds oder Email Updates noch heute!
Es gibt 257 Kommentare zu diesem Beitrag. Sie können alle Antworten auf diesen Eintrag durch den RSS 2.0 Feed verfolgen . Sie können die Ende überspringen und eine Antwort hinterlassen oder TrackBack von Ihrer eigenen Website.



































How do you Schreiben und Lesen aus einer Binärdatei mit dem C-Sprache?.?
vorstellen, haben wir eine Datei mit dem folgenden Text:
Zwei, eins, 2,
Ein Fisch, zwei Fische?!?
red_fish; Blue Fish!
Wie kann ich ignoriere alle Nicht-alphabetische Zeichen und drucken Sie die alphabetische Zeichen auf die Standardausgabe - jedes Wort in einer eigenen Zeile, mit der alle Buchstaben in Kleinbuchstaben umgewandelt
Ausgabe sollte sein:
ein
zwei
ein
ein
Fisch
zwei
Fisch
rot
Fisch
blau
Fisch
Bitte teilen Sie mir bei der frühesten und E-Mail an sunainabansal2003@yahoo.com
danken u
HALLO, Sunaina wie Rui stehe nicht unter ständigen ur Problem,
plz übersenden ur Problem auf meinem E-Mail-ID kanhaiyalalsn@gmail.com
hallo sunaina, bekam ich ur prblm.
thats sehr einfach.
Sie hav nur lesen Sie die Datei Byte für Byte bis u Begegnung alle nicht-alphabetische Zeichen. Sobald eine alphabetische Zeichen gefunden wird, drucken Sie die Zeichenfolge, die bis März und dann auf der nächsten Saite beginnend mit den Buchstaben. Best Glück. Wenn noch keine HAV prblm email me at chillaraccount@gmail.com bye.
Ich will zeigen, welche Daten speichern in einem doc-Datei ist mir bitte helfen, wenn jemand haben für diesen Code.
tabishahmad1@gmail.com
Bitte senden Sie mir.
Bubble Sortierung mit Register und Timer starten und die Sortierung wieder aufhören, wo
Wie man den Inhalt einer Datei in Großbuchstaben umwandeln. Datei enthält bopth alphabetisch und nicht-alphabetische Zeichen.
Hallo, könnten Sie mir bitte helfen mit diesem:
"Programm in C schreiben, die es dem Benutzer den Namen der Datei mit Text und speichert die Zeichen, die in den ungeraden Plätzen in der Datei â € € œodd.txtâ gefunden werden und diejenigen, die in der Suche auch in â € œeven.txtâ akzeptieren €. "
Erstellen Sie ein Programm, dass die Laufzeit von einem anderen Programm berechnet wird, zeigt nicht den laufenden
Zeit in Sekunden, sondern nach der Zahl der (Tfetch, Tstore, tEntf, etc.) oder in einem verwandten Laufzeit Axiome ..
Kann jemand mir helfen mit diesem Problem??? ...
Hoffnung für Ihre freundliche Antwort ...
einfach per Email schicken, um meine: canon_martina@yahoo.com.ph
Bitte ich brauche Hilfe in zwei oder drei Tagen über dieses Problem c; Entwicklung eines einfachen Systems Benutzerauthentifizierung mittels C-Sprache. Das System sollte Ihnen ermöglichen, in eine Datei Benutzernamen anmelden und dann überprüfen, ob der Benutzer gültig ist. Denken Sie daran, dass die Gültigkeit des Nutzers zu überprüfen, müssen Sie zuerst den Benutzernamen des Benutzers und das System prüft, ob dieser Benutzer existiert in der Datei, in der die Nutzer. Wenn eine falsche Benutzernamen, um das System geliefert wird, sollte es für Sie eine entsprechende Meldung angezeigt, zum Beispiel â € œInvalid UserA €. Wenn Sie durch mit der Authentifizierung sind, sollte das System zeigt alle Benutzer in der Datei gespeichert. können Sie bitte posten Sie Ihre Antwort auf aine.brian @ yahoo.com
Hallo, ich möchte eine Zeile in eine Datei zu löschen und ersetzen Sie es mit einem anderen line.can Ich benutze den Dateizeiger oder mir helfen?
hallo ... kann mir jemand helfen schriftlich ac Programm, um ein bestimmtes Wort aus der Datei löschen thnks im Voraus
hallo, wie Rui Supriya hilft u plz schicken Sie Ihre E-Mail-Problem auf meinem id kanhaiyalalsn@gmail.com
hallo ... ... .. Supriya im Vinay aus Bhopal im MCA Student whats Ihre Frage i dont undersdand senden Sie mir bitte mit dem Code auf meine E-Mail-Adresse vinay.intech @ rediffmail.com dank ... ... ... ....
hallo ... .. alle
Schreiben Sie ein Programm IC ohne main (). posssibbe wie? Falls jemand weiß, bitte senden Sie mir Code Antwort auf meine E-Mail mit address.vinay.intech @ rediffmail.com dieser Frage
Infosys ist ein Software-System
hallo kann jemand mir helfen mit diesem Problem nicht jeder wissen, wie Passwort versteckt ist und tippte als Punkt mit Hilfe von File-Handling zu tun plz Antwort auf cbaitharu@yahoo.co.in
Hey sehen gibt es drei weitere Modi, um eine Datei, die W + sind: zu verwenden, um eine Datei, die sowohl lesen und schreiben kann offen offen
r +: zu verwenden, um eine Datei zu öffnen, in denen wir mehr tun, auch mit Veränderung vor geschriebenen Daten schreiben können
a +: Dieses wird verwendet, um Daten lesen und schreiben, aber wihtout tun Veränderung bestehender Daten in der Datei, wenn Datei bereits vorhanden
für die Erstellung von numerischen Daten-Dateien müssen wir sie im Binär-Modus, wie wenn wir wollen, um eine vorhandene Datei-Modus, dass wir "rb verwenden wird gelesen offen"
zB: fp = fopen ("abc", "rb");
dasselbe für Schreib-Modus
Sie geben dem besseren Format der Datei. sonst wird es schwierig sein
--- Original Message ---
--- Original Message ---
Hallo. Bitte senden Sie mir einen Code, den Inhalt der Datei ... sort .. danke viel
Ich möchte eine Datenbank mit File-Handling nicht in cpp.its eine Musik-Datenbank shoppe .. plz help