Dateistreams in C++ verstehen
Aug 21, 2023 pm 11:15 PMDer Dateistream in C++ ist eine praktische Methode zur Dateneingabe und -ausgabe. Daten in der Datei können über den Dateistream gelesen und geschrieben werden. In C++ umfassen Dateistreams hauptsächlich die iostream-Bibliothek und die fstream-Bibliothek.
Die iostream-Bibliothek ist hauptsächlich für die Konsoleneingabe und -ausgabe verantwortlich, während die fstream-Bibliothek für die Dateieingabe und -ausgabe verantwortlich ist. Die fstream-Bibliothek ist in der iostream-Bibliothek enthalten, daher müssen wir nur eine der Header-Dateien <iostream> einbinden.
In C++ müssen Sie ein Stream-Objekt verwenden, um eine Datei zu bedienen. Ein Datei-Stream ist ein Stream-Objekt, das einer Datei zugeordnet ist. Über das Datei-Stream-Objekt können Sie Daten in die Datei lesen oder schreiben. Es gibt zwei Arten von Dateistreams: Lesedateistreams (ifstream) und Schreibdateistreams (ofstream), die beide vom Basisdateistream (fstream) abgeleitet sind.
Es ist zu beachten, dass die Datei zuerst geöffnet werden muss, wenn Sie Lese- und Schreibvorgänge für Dateiströme durchführen möchten. Dateien können mit der Funktion open() geöffnet werden. Im Allgemeinen müssen wir nach erfolgreichem Öffnen der Datei einen Lese- oder Schreibvorgang ausführen. Nach Abschluss des Vorgangs müssen wir die Funktion close () verwenden, um das Dateistream-Objekt zu schließen.
Als nächstes werfen wir einen Blick auf einige gängige Vorgänge von Dateistreams:
- Dateien öffnen
In C++ gibt es zwei Möglichkeiten, Dateien zu öffnen: Eine besteht darin, das fstream-Bibliotheksobjekt zu verwenden, und die andere darin C-Sprachfunktionsbibliothek.
Verwenden Sie die fstream-Bibliothek:
#include <fstream> using namespace std; int main() { ofstream fileOut; //写入文件流对象 fileOut.open("test.txt"); //以写模式打开文件 fileOut.close(); //关闭文件 ifstream fileIn; //读取文件流对象 fileIn.open("test.txt"); //以读模式打开文件 fileIn.close(); //关闭文件 return 0; }
Verwenden Sie die C-Funktionsbibliothek:
#include <stdio.h> int main() { FILE* fp; //文件指针 fp = fopen("test.txt", "w"); //以写模式打开文件 fclose(fp); //关闭文件 fp = fopen("test.txt", "r"); //以读模式打开文件 fclose(fp); //关闭文件 return 0; }
- Dateien schreiben
Verwenden Sie Objekte der ofstream-Klasse, um Daten in Dateien zu schreiben. Mit dem Operator „<<“ können Daten geschrieben werden. Beim Schreiben können Sie links oder rechts vom Operator Zeichenfolgen, Zeichen, Werte oder Variablen hinzufügen.
#include <fstream> using namespace std; int main() { ofstream fileOut; //写入文件流对象 fileOut.open("test.txt"); //打开文件 if (fileOut.is_open()) { //判断文件是否成功打开 fileOut << "Hello world"; //写入数据 fileOut.close(); //关闭文件 return 0; } else { return -1; } }
- Dateien lesen
Verwenden Sie Objekte der ifstream-Klasse, um Daten aus Dateien zu lesen. Der Operator „<<“ kann auch zum Lesen von Daten verwendet werden. Beim Lesen können die Daten in definierte Variablen eingelesen werden.
#include <fstream> #include <iostream> using namespace std; int main() { ifstream fileIn; //读取文件流对象 fileIn.open("test.txt"); //打开文件 if (fileIn.is_open()) { char ch; //定义变量用来存放读取的字符 while (fileIn >> ch) { //逐个读取字符 cout << ch; //输出读取的字符 } fileIn.close(); //关闭文件 return 0; } else { return -1; } }
Das Obige ist das Grundwissen über Dateistreams in C++. Durch die Lese- und Schreibvorgänge des Dateistreams können wir die Daten in der Datei bequemer verarbeiten, um den tatsächlichen Programmieranforderungen gerecht zu werden.
Das obige ist der detaillierte Inhalt vonDateistreams in C++ verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Parallelitätssicheres Design von Datenstrukturen in der C++-Parallelprogrammierung?

Wie implementiert man einen benutzerdefinierten Komparator in C++ STL?

Das C++-Objektlayout ist auf den Speicher abgestimmt, um die Effizienz der Speichernutzung zu optimieren

Wie implementiert man das Strategy Design Pattern in C++?

Ähnlichkeiten und Unterschiede zwischen Golang und C++

Wie kopiere ich einen C++-STL-Container?

Wie implementiert man C++-Multithread-Programmierung basierend auf dem Actor-Modell?

Was sind die zugrunde liegenden Implementierungsprinzipien von C++-Smartpointern?
