Tecnología

Inicio

Cómo crear un archivo de texto usando C ++

Cómo crear un archivo de texto usando C ++


Creación de archivos de texto en C ++ código de programación es crítica para muchas aplicaciones. Es posible que necesite para construir características útiles en su programa en C ++, como guardar la configuración en un archivo de inicialización, escribir datos en un archivo de texto delimitado por comas, o la conversión de un formato binario a texto. Archivo de entrada / salida (\ "i / o \") se maneja usando \ ++ de la biblioteca C estándar "fstream \" clase. Usando fstream es similar al uso de la \ "iostream \" estándar de E / S clase que usted probablemente está familiarizado con el uso. De hecho, ambos se derivan de las mismas clases padre.

Instrucciones

1 Añadir las siguientes líneas a la \ "incluye \" sección del archivo de cabecera para la clase que va a escribir el archivo de texto:

incluir <fstream> incluir <iostream>

using namespace std
IR

\ "Fstream \" es el archivo de E / S de clase de secuencia. \ "Iostream \" es el estándar de E / S de clase, que se utiliza para escribir mensajes en la pantalla. \ "Using namespace std \" le permite utilizar estas dos clases de biblioteca estándar sin la \ molesto "std :: \" prefijo de miembros de la clase.

2 Declarar una variable de tipo \ section variable miembro privada "ofstream \" (secuencia de archivo de salida) en su clase '(o en la función que escribe el archivo de texto):

FileOut ofstream;

3 Abrir el archivo, que pasa la ruta y el nombre de archivo como parámetro, en su clase 'constructor (o la función que escribe el archivo de texto):

fileout.open (\ "/ tmp / salida.txt \")
IR

El modo por defecto de \ "\ abierta" es abrir una secuencia de archivo de texto. Si se omite la ruta, el archivo se escribirá en el directorio de trabajo actual. Si no existe el archivo, se creará. Si lo hace, será sobrescrito. El modo se puede establecer como un parámetro opcional a \ "abierta. \". Por ejemplo, la siguiente llamada se abre un archivo en el directorio de trabajo actual, y lo anexa a ella en vez de sobreescribirlo:

fileout.open (\ "salida.txt \", fstream :: app);

4 Iniciar un bloque si en la función que se escribe en el archivo de texto. Es importante comprobar que el archivo fue abierto. Use \ function "is_open \" para la verificación fstream ':

si (fileout.is_open ()) {

Open fallará si no tiene permiso de escritura en el directorio, o el disco está lleno o dañado.

5 Escribir en el fichero de usar fstream << \ "poner a \" operador después de que el \ "si \". Por ejemplo, la siguiente escribe una línea de texto seguido por el valor asignado a la variable \ "a. \"

fileout &lt;&lt; \&quot;This is a text file.\\n\&quot;

IR

fileout &lt;&lt; a &lt;&lt; \&quot;\\n\&quot; ;

6 Poner fin a la \ "si \" y añadir un \ "else \" para imprimir un mensaje de error si el archivo no abierto:

}
else {

cout &lt;&lt; \&quot;Error: Unable to open output file\&quot;

IR
}

7 Cierre el archivo cuando haya terminado de escribir en él. Si ha abierto el archivo en una función, cerrarla antes de salir de esa función. Si ha abierto el archivo en el constructor de la clase, cierre el archivo en el destructor. Compruebe para asegurarse de que el archivo está abierto antes de intentar cerrarla:

si (fileout.is_open ()) {

fileout.close()

IR
}

Consejos y advertencias

  • flujos de archivos de texto se pueden formatear, al igual que la producción iostream, utilizando el iomanip (manipuladores de E / S) de clase. Consulte la \ "Manipuladores \" página vinculada en la sección de recursos para obtener una lista de los manipuladores de flujo que puede utilizar para configurar los números de formato, justificación y recortar espacios en blanco.