Maison > développement back-end > C++ > Comprendre les flux de fichiers en C++

Comprendre les flux de fichiers en C++

王林
Libérer: 2023-08-21 23:15:16
original
1504 Les gens l'ont consulté

Le flux de fichiers en C++ est une méthode pratique d'entrée et de sortie de données. Les données du fichier peuvent être lues et écrites via le flux de fichiers. En C++, les flux de fichiers impliquent principalement la bibliothèque iostream et la bibliothèque fstream.

La bibliothèque iostream est principalement responsable des entrées et sorties de la console, tandis que la bibliothèque fstream est responsable des entrées et sorties des fichiers. La bibliothèque fstream est incluse dans la bibliothèque iostream, nous n'avons donc besoin d'inclure qu'un des fichiers d'en-tête

En C++, vous devez utiliser un objet flux pour faire fonctionner un fichier, et un flux de fichier est un objet flux associé à un fichier. Vous pouvez lire ou écrire des données dans le fichier via l'objet flux de fichier. Il existe deux types de flux de fichiers : les flux de fichiers de lecture (ifstream) et les flux de fichiers d'écriture (ofstream), tous deux dérivés du flux de fichiers de base (fstream).

Il convient de noter que si vous souhaitez effectuer des opérations de lecture et d'écriture de flux de fichiers, le fichier doit d'abord être ouvert. Les fichiers peuvent être ouverts à l'aide de la fonction open(). De manière générale, une fois le fichier ouvert avec succès, nous devons effectuer une opération de lecture ou d'écriture. Une fois l'opération terminée, nous devons utiliser la fonction close() pour fermer l'objet flux de fichier.

Ensuite, examinons plusieurs opérations courantes des flux de fichiers :

  1. Ouverture de fichiers

En C++, il existe deux façons d'ouvrir des fichiers : l'une consiste à utiliser l'objet bibliothèque fstream et l'autre à utiliser Bibliothèque de fonctions en langage C.

Utilisez la bibliothèque fstream :

#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;
}
Copier après la connexion

Utilisez la bibliothèque de fonctions C :

#include <stdio.h>

int main() {
  FILE* fp; //文件指针
  fp = fopen("test.txt", "w"); //以写模式打开文件
  fclose(fp); //关闭文件
  fp = fopen("test.txt", "r"); //以读模式打开文件
  fclose(fp); //关闭文件
  return 0;
}
Copier après la connexion
  1. Écrivez des fichiers

Utilisez des objets de la classe ofstream pour écrire des données dans des fichiers. L'opérateur "<<" peut être utilisé pour écrire des données. Lors de l'écriture, vous pouvez ajouter des chaînes, des caractères, des valeurs ou des variables à gauche ou à droite de l'opérateur.

#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;
  }
}
Copier après la connexion
  1. Lire les fichiers

Utilisez des objets de la classe ifstream pour lire les données des fichiers. L'opérateur "<<" peut également être utilisé pour lire des données. Lors de la lecture, les données peuvent être lues dans des variables définies.

#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;
  }
}
Copier après la connexion

Ce qui précède est la connaissance de base des flux de fichiers en C++. Grâce aux opérations de lecture et d'écriture du flux de fichiers, nous pouvons traiter les données du fichier plus facilement pour répondre aux besoins réels de programmation.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal