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 con T ajustado a Char. los basic_ifstream clase de plantilla se crea una instancia con otros tipos, así para proporcionar diferentes tipos de clases de entrada. Por ejemplo, la amplia clase de archivo continuo wifstream se basa en la misma basic_ifstream con T ajustado a wchar_t. los ofstream es lo mismo que basic_ofstream.

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).

Las constantes que controlan cómo se abren los archivos
BanderaSignificado
ios_base :: aplicaciónTratar de EOF antes de cada escritura.
ios_base :: comióTratar de EOF inmediatamente después de abrir el archivo, si itexists.
ios_base :: binariaAbrir el archivo en modo binario (alternativa es el modo de texto).
ios_base :: enAbrir el archivo de entrada (implícita para istream).
ios_base :: caboAbrir el archivo de salida (implícita para ostream).
ios_base :: truncTruncar 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 # include using 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.




» » » » Flujo de entrada / salida en c ++