Heim > Backend-Entwicklung > C++ > Dateistreams in C++ verstehen

Dateistreams in C++ verstehen

王林
Freigeben: 2023-08-21 23:15:16
Original
1501 Leute haben es durchsucht

Der 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 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:

  1. 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;
}
Nach dem Login kopieren

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;
}
Nach dem Login kopieren
  1. 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;
  }
}
Nach dem Login kopieren
  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;
  }
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage