Boa noite, preciso de uma ajuda, estou tentando aprender c++, o problema é o seguinte, abro um arquivo ofstrem e mando o comando ios::app, ou seja para não truncar o arquivo e escrever apartir da última linha válida, mas o arquivo é truncado. Por exemplo escolho a opção 1: digito nome fulano, telefone 123. vou no comando 1 novamente e digito: cicrano, telefone 456.
Fecho o programa e quando vou ver o arquivo de agendacplusplus.txt só tem o cicrano, ou seja ele trunca e não continua. alguém pode me ajudar?
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main(){
ofstream agendacplusplus("agendacplusplus.txt");
int opcao,tel;
string nome;
do{
system("cls");
cout<<"\n\n\t\também vindo ao programa agenda";
cout<<"\nMenu";
cout<<"\n1 - Cadastrar nome e telefone";
cout<<"\n2 - Listar todos os nomes e telefones";
cout<<"\n3 - Sair";
cout<<"\nDigite uma opcao: ";
cin>> opcao;
switch(opcao){
case 1:
cout<<"\n\n\t\tOpcao de cadastro";
cout<<"\nDigite um nome: ";
cin.ignore();
getline(cin,nome);
cout<<"Digite o telefone: ";
cin>>tel;
agendacplusplus.open("agendacplusplus.txt",ios::in| ios::out | ios::app);// AKI SUPOSTAMENTE DEVERIA DAR O APPEND
agendacplusplus<<nome<<"\t\t"<<tel<<endl;
agendacplusplus.close();
break;
case 2:
exit(0);
break;
case 3:
exit(0);
break;
default:
exit(0);
break;
}
}while(opcao!=3);
return 0;
}
Pergunta
willsonny
Boa noite, preciso de uma ajuda, estou tentando aprender c++, o problema é o seguinte, abro um arquivo ofstrem e mando o comando ios::app, ou seja para não truncar o arquivo e escrever apartir da última linha válida, mas o arquivo é truncado. Por exemplo escolho a opção 1: digito nome fulano, telefone 123. vou no comando 1 novamente e digito: cicrano, telefone 456.
Fecho o programa e quando vou ver o arquivo de agendacplusplus.txt só tem o cicrano, ou seja ele trunca e não continua. alguém pode me ajudar?
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.