En C ++, se introduce el concepto de flujo. El flujo en C ++ se refiere al proceso de información desde un dispositivo de entrada a un dispositivo de salida. Hay tres flujos en C ++, flujo de E / S estándar, flujo de E / S de archivo y flujo de E / S de cadena.
Secuencia de archivos C ++
Cuatro clases se derivan de C ++, a saber, flujo de entrada istream, flujo de salida ostream, clase base de flujo de archivo fstreambase y clase base de flujo de cadena strstreambase. Si necesita procesar el archivo en C ++, debe incluir el #include<fstream>
archivo de encabezado.
clase | Descripción |
---|---|
ifstream | Representa la secuencia del archivo de entrada, que se utiliza para leer datos del archivo. |
ofstream | Representa la secuencia del archivo de salida, que se utiliza para crear un archivo y escribir datos en el archivo. |
fstream | Flujo de archivos rápido, con dos funciones de escritura y lectura de datos |
abre un archivo
void open(const char* filename,openmode mode)
- filename: nombre de archivo
- modo: modo de apertura de archivos
Modo de apertura de archivo | descripción |
---|---|
aplicación | añadir |
comió | Abra el archivo al final del archivo especificado |
en | Salida, abra el archivo para leer datos |
fuera | Entrada, abra el archivo para algunos datos |
Si necesitamos dos o más formas de abrir un archivo, podemos utilizar la siguiente forma.
ofstream outfile;
outfile.open("text.txt",ios::out | ios::app); //以打开、追加的模式进行打开
Después de abrir el archivo, solo necesitamos llamar a la is_open
función para determinar si el archivo se abrió correctamente .
Cerrar el archivo
void close()
Leer y escribir datos
En el lenguaje C, usamos la función de escritura para escribir archivos, pero el flujo de archivos se agrega a C ++, por lo que es muy simple para nosotros manipular archivos y podemos usar operadores de flujo para operar.
- << Inserte el operador de flujo, utilizado para escribir datos en el archivo.
-
El operador de flujo de lectura se utiliza para leer los datos del archivo.
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ofstream outfile;
outfile.open("text.txt");
if(outfile.is_open())
{
cout<<"outfile open file success"<<endl;
string str;
cout<<"please enter the content: ";
cin>>str;
outfile<<str;
cout<<"write content success"<<endl;
outfile.close();
}
else
{
cout<<"outfile open file error"<<endl;
return -1;
}
ifstream infile;
infile.open("text.txt");
if(infile.is_open())
{
infile>>str;
cout<<"Read content: ";
cout<<str<<endl;
infile.close();
}
else
{
cout<<"infile open file error"<<endl;
return -1;
}
return 0;
}