Fluxo de entrada / saída em C ++

As classes C ++ ifstream e ofstream são subclasses istream e ostream projetado para realizar entrada de fluxo e de saída para arquivos de disco. Você pode usar os mesmos extratores e dispositivos de inserção no ifstream e ofstream objetos que você está usando em cin e cout.

o ifstream é realmente um instanciação de classe de modelo basic_ifstream com T definido como carbonizar. o basic_ifstream classe de modelo é instanciado com outros tipos, bem como para fornecer diferentes tipos de classes de entrada. Por exemplo, a ampla classe de arquivo de fluxo wifstream baseia-se na mesma basic_ifstream com T definido como wchar_t. o ofstream é o mesmo que basic_ofstream .

As classes ifstream e ofstream fornecer construtores usados ​​para abrir um arquivo para entrada e saída, respectivamente:

ifstream :: ifstream (char const * pszFileName, ios_base :: modo openmode = ios_base :: in) -ofstream :: ofstream (char const * pszFileName, ios_base :: modo openmode = ios_base :: out | ios_base :: trunc) -

O primeiro argumento é um ponteiro para o nome do arquivo a ser aberto. O segundo argumento especifica o modo. O tipo openmode é um tipo inteiro definido no ios_base. Também definido dentro ios_base são os valores possíveis para modo listados nesta tabela.

Estes são campos de bits que as RUP programador bit a bit em conjunto. O modo padrão para ifstream é para abrir o ficheiro de entrada, com o ponteiro definido para o início do ficheiro (isto é bastante lógico).

Constantes que controlam como os arquivos são abertos
BandeiraSignificado
ios_base :: appProcuramos EOF antes de cada gravação.
ios_base :: comeuProcuramos EOF imediatamente após a abertura do arquivo, se itexists.
ios_base :: binárioAbrir arquivo em modo binário (alternativa é modo de texto).
ios_base :: noarquivo aberto para a entrada (implícita para istream).
ios_base :: outarquivo aberto para a saída (implícita para ostream).
ios_base :: truncTruncar arquivo, se ele existe (padrão para ostream).

O padrão para ofstream é abrir para a saída e para truncar o arquivo se ele já existe. A alternativa é a truncar ios_base :: app, o que significa acrescentar uma nova saída para o fim do arquivo se ele já existir. Ambas as opções criar um arquivo se ele ainda não existir.

Por exemplo, a seguir StreamOutput programa abre o arquivo MyName.txt e, em seguida, escreve algumas informações importantes e absolutamente fiel a esse arquivo:

// StreamOutput - saída simples de um arquivo # include usando namespace std-int main (int nNumberofArgs, char * pszArgs []) {ofstream meu ( "MyName.txt") - o meu lt; lt; "Stephen Davis é suave e bonito n" lt; lt; "E definitivamente não é careca prematuramente" lt; lt; endl-retorno 0-}

O destruidor para as classes de fluxo de arquivo automaticamente fechar o arquivo associado. Neste exemplo simples, a MyName.txt arquivo foi fechado quando o meu objeto saiu do âmbito de aplicação ao retornar de a Principal(). Objetos globais estão fechadas como parte do encerramento do programa.

menu