Beruflich Dokumente
Kultur Dokumente
Material baseado em sites da internet em especial no livro: STARTING OUT WITH C++
Especifica como o arquivo deve ser aberto e o que pode ser feito com ele ios:in e ios:out so exemplos de modos de abertura de arquivos,
file mode flags (flags de abertura de arquivos)
Flags de abertura podem ser combinados e passados como o segundo parmetro na abertura do arquivo
Flags de Abertura
Cria novo arquivo, ou adiciona ao final de um arquivo existente Vai para o final do arquivo; escreve em qquer lugar L/escreve em modo binrio Abre para leitura Abre para escrita
Flags de Abertura
Nem todas as cobinaes fazem sentido ifstream e ofstream possuem modos default, logo o segundo parmetro da funo open opcional
Modos Default
ofstream:
Abertura somente para escrita No so permitidas leituras Se no existe o arquivo ele criado O contedo apagado caso o arquivo exista Para associar outro comportamento: ofstream gradeList("grades.dat", ios::app);
ifstream:
Abertura somente para escrita No permitido escrever no arquivo A abertura falha caso o arquivo no exista
Formatao da sada
Utilizao de manipuladores
Idnticos aos manipuladores em cout left, right oct, dec, hex endl, flush showpos, noshowpos left or right justify output display output in octal, decimal, or hexadecimal write newline (endl only) and flush output do, do not show leading + with non-negative numbers do, do not show decimal point and trailing zeroes
showpoint, noshowpoint
Formatao da sada
fixed, scientific setw(n) setprecision(n) setfill(ch) use fixed or scientific notation for floatingpoint numbers sets minimum field output width to n sets floating-point precision to n uses ch as fill character
Deteco de Erros
eof() fail() bad() good() clear() true if eofbit set, false otherwise true if failbit or hardfail set, false otherwise true if badbit set, false otherwise true if goodbit set, false otherwise clear all flags (no arguments), or clear a specific flag
Funo getline
getline(char s[ ], int max, char stop =\n) char s[ ]: varivel para armazenar o valor lido int max : nmero mximo de caracteres a serem lidos char stop: caracter de trmino de leitura caso o numero mximo max no tenha sido atingido
Exemplo: write
Para escrever um vetor de doubles ofstream outFile(myfile, ios:binary); double d[2] = {12.3, 34.5}; outFile.write( reinterpret_cast<char *>(d), sizeof(d) );
10
Exemplo: read
Para ler dois doubles para um vetor
11
Exerccios
Implemente um programa que obtm do usurio os seguintes dados de uma pessoa: nome, endereo, telefone e idade. Estes dados devem ser escritos num arquivo binrio como registros.
12