Escolar Documentos
Profissional Documentos
Cultura Documentos
Cap5 Arquivos PDF
Cap5 Arquivos PDF
Departamento de Eng.
Elétrica da UFMG
renato@cpdee.ufmg.br
5 -a . Manipulação de
arquivos em C++
. . . . . . . . . .
5-a. 1. Introdução à entrada e saída em arquivos em C++
char ch;
while (inFile.get(ch) ) {
Outros mecanismos da linguagem C++ - Arquivos Pg. 4
cout.put (ch);
outFile.put(ch);
}
}
• Objetos das classes ofstream e ifstream podem ser declarados sem
estarem associados a um arquivo. Um arquivo pode ser conectado
posteriormente, chamando a função membro open( );
• Um arquivo pode ser desconectado de um programa, chamando a
função membro close( );
#include <fstream>
using namespace std;
const int fileCnt = 5;
string fileTable [ fileCnt ] = { "JorgeAmado.txt",
"GuimaraesRosa.txt", "CarlosDrummond.txt", "RubemBraga.txt",
"ClariceLispector.txt" };
int main()
{
ifstream inFile; // não está associado a nenhum arquivo
#include <fstream>
int main ()
{
fstream file;
int i, j, k;
file.open( "teste.txt", ios_base::in); // abertura para leitura
file >> i; // leitura usando file
// ...
Outros mecanismos da linguagem C++ - Arquivos Pg. 5
file.close();
// ...
file.open("teste.txt", ios_base::app);
file << endl << j << k <<endl;
file.close();
}
readFile.seekg(sizeof(Registro), ios_base::cur);
readFile.seekg(-10, ios_base::cur);
O resultado será:
abcd
efg
hi
j
5 9 12 14 24
#include <iostream>
#include <fstream>
inOut.clear ();
inOut << cnt << endl;
int ival;
cin >> ival;
Outros mecanismos da linguagem C++ - Arquivos Pg. 8
#include <sstream>
#include <string>
#include <fstream>
#include <sstream>
int main( )
{
cout << " Nome do arquivo a ser lido: ";
string nome_arquivo;
cin >> nome_arquivo;
ifstream arquivo(nome_arquivo.c_str());
if(!arquivo) {
cout << " Não consigo abrir o arquivo: " << nome_arquivo;
exit (-1);
}
string texto = read_file_into_string(arquivo);
cout << texto;
return 0;
}
Outros mecanismos da linguagem C++ - Arquivos Pg. 10
ostringstream saida;
saida << "Valor de i: " << i << " Valor de j: " << j << endl;
string msg = saida.str( );
cout << "Tamanho da string de mensagem: " << msg.size() << "
Mensagem: " << msg << endl;
5.a. 4. Formatação.
Manipulador Significado
boolalpha representa variáveis booleanas através de true e false
noboolalpha representa variáveis booleanas através de 0 e 1
showbase gera um prefixo indicando a base numérica
noshowbase não gera um prefixo indicando a base numérica
showpoint sempre gera um ponto decimal
noshowpoint somente mostra um ponto decimal com frações
showpos mostra o sinal + em números não negativos
Outros mecanismos da linguagem C++ - Arquivos Pg. 11
cout << "i em decimal = " << i << " i em hexadecimal " << hex << i <<
flush;