Ir para conteúdo
Fórum Script Brasil
  • 0

Streams De E/s


Andersonjb

Pergunta

E ai pessoal, post n°100, hehe. Mas eu queria tirar uma duvida, como faço para anexar um arquivo a outro? Por exemplo, olhem esse codigo:

cout<<"Programa de Cadastro";
  	cout<<"\nNome:";
  	cin>>cadastro.nome;
  	cout<<"Sobrenome:";
  	cin>>cadastro.sobrenome;
  	cout<<"Fone:";
  	cin>>cadastro.telefone;
  	cout<<"RG:";
  	cin>>cadastro.rg;
  	cout<<"CPF:";
  	cin>>cadastro.cpf;

      cout<<"Deseja Cadastrar esse Cliente?";
      cin>>opc;
      if(opc=='S' || opc=='s')
        {
      	ofstream fecha;
      	fecha.open("clientes.txt");
      	fecha<<"Nome:"<<cadastro.nome<<"\n"<<"Sobrenome:"<<cadastro.sobrenome<<"\n"<<"Fone:"<<cadastro.telefone<<"\n"<<"RG:"<<cadastro.rg<<"\n"<<"CPF:"<<cadastro.cpf;
      	fecha.close();
        }
  	cout<<"Deseja Cadastrar mais algum cliente?";
      cin>>opc;
       }
       while(opc=='S' || opc=='s');

No caso, se o usuario quiser cadastrar de novo, o arquivo e gravado por cima, e não adiciona os dados, como faço para alterar somente o arquivo em vez de substituir o que tem dentro??

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Opa!

Quando você abre um arquivo você pode especificar o modo de abertura desse arquivo. Se você abre um arquivo para saída (usando um objeto "ofstream") o modo de abertura padrão é "ios::out", que apaga o conteúdo pré-existente no arquivo e grava os novos dados. Sendo assim, faça:

ofstream fecha;
fecha.open( "clientes.txt", ios::app );

O modo de abertura "ios::app" informa que a saída será gravada no final do arquivo.

Até mais!

Link para o comentário
Compartilhar em outros sites

  • 0

Nesse programa você está usando um arquivo de acesso seqüencial, ou seja, você acessa os dados seqüencialmente, de acordo com a ordem na qual eles foram colocados lá. Sendo assim, você gastaria muito desempenho na tarefa de procurar um registro nesse arquivo (principalmente se esse arquivo for composto por um número muito grande de registros).

Então é recomendável usar arquivos de acesso aleatório, com os quais é possível "pular" para um determinado registro diretamente através do método "seekp" ou do "seekg". E os métodos usar para escrever no arquivo e ler do arquivo são, respectivamente, "write" e "read".

Dê uma garimpada em uns tutos da net sobre isso, e poste mais dúvidas quando for o caso.

Até mais!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...