Maison >développement back-end >C++ >Comprendre les flux de fichiers en C++
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 317e6b6395ab75e70e7f0880af8f6835
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 :
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; }
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; }
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; } }
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; } }
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!