Flujo de entrada / salida en c ++
Clases de C ++ ifstream y ofstream son subclases de istream y ostream diseñado para realizar la entrada y salida de flujo de archivos de disco. Puede utilizar los mismos extractores y insertadores en ifstream y ofstream objetos que usted ha estado utilizando en cin y cout.
los ifstream es en realidad una instancia de la clase de plantilla basic_ifstream
Las clases ifstream y ofstream proporcionar constructores utilizados para abrir un archivo para entrada y salida, respectivamente:
ifstream :: ifstream (const char * pszFileName, ios_base :: modo openmode = ios_base :: in) -ofstream :: ofstream (const char * pszFileName, ios_base :: modo openmode = ios_base :: cabo | ios_base :: trunc) -
El primer argumento es un puntero al nombre del archivo para abrirlo. El segundo argumento especifica el modo. El tipo openmode un tipo entero se define en ios_base. También se define dentro de ios_base son los valores posibles para modo incluidos en esta tabla.
Estos son campos de bits que las RUP bit a bit programador juntos. El modo por defecto para ifstream es abrir el archivo para la entrada con el puntero se establece en el principio del archivo (que es bastante lógico).
Bandera | Significado |
---|---|
ios_base :: aplicación | Tratar de EOF antes de cada escritura. |
ios_base :: comió | Tratar de EOF inmediatamente después de abrir el archivo, si itexists. |
ios_base :: binaria | Abrir el archivo en modo binario (alternativa es el modo de texto). |
ios_base :: en | Abrir el archivo de entrada (implícita para istream). |
ios_base :: cabo | Abrir el archivo de salida (implícita para ostream). |
ios_base :: trunc | Truncar archivo, si es que existe (por defecto para ostream). |
El valor predeterminado para ofstream es abierto para la producción y para truncar el archivo si ya existe. La alternativa para truncar es ios_base :: aplicación, lo que significa anexar nueva salida en el final del archivo si ya existe. Ambas opciones crean un archivo si no existe ya.
Por ejemplo, la siguiente StreamOutput programa abre el archivo MyName.txt y luego escribe alguna información importante y absolutamente fiel a ese archivo:
// StreamOutput - Salida simple a un archivo # includeusing namespace std-int main (int nNumberofArgs, char * pszArgs []) {ofstream mi ("MyName.txt") - mi lt; lt; "Stephen Davis es suave y guapo n" lt; lt; "y definitivamente no calvicie prematura" lt; lt; endl retorno 0-}
El destructor para las clases de flujo de archivos cerrar automáticamente el archivo asociado. En este sencillo ejemplo, el MyName.txt archivo se cerró cuando el mi objeto salió de alcance al regresar de main (). Objetos globales están cerradas como parte de la terminación del programa.