Leinad96 0 Posted January 7, 2015 Report Share Posted January 7, 2015 Preciso de ajuda para ler ficheiros em .txt e poder alterar os seus dados . Link to post Share on other sites
HappyHippyHippo 1,162 Posted January 7, 2015 Report Share Posted January 7, 2015 já te foi dito : qual a tua dúvida em concreto, pois o que perguntas é muito genérico IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to post Share on other sites
nelsonr 331 Posted January 7, 2015 Report Share Posted January 7, 2015 Input/output with files http://www.cplusplus.com/doc/tutorial/files/ Link to post Share on other sites
Leinad96 0 Posted January 8, 2015 Author Report Share Posted January 8, 2015 neste codigo abaixo referido quero abrir o ficheiro carros.txt no caso 5 da switch , mas nao sei ... #include #include #include #include void main() { char opc; char menu(); int c; char *nome = "carros.txt"; opc= menu(); switch(opc) { case '1' : printf("\nlol\n\n"); break; case '2' : printf("\nlol\n\n"); break; case '3' : printf("\lol 3\n\n"); break; case '4' : printf("\lol\n\n"); break; case '5' : break; case '6' : break; } } char menu(); { char o ; printf("\n\t\t ________________________________"); printf("\n\t\t | |"); printf("\n\t\t | Adicionar carros [1] |"); printf("\n\t\t | Retirar carros [2] |"); printf("\n\t\t | Pesquisar carros [3] |"); printf("\n\t\t | Pesquisar Lugar [4] |"); printf("\n\t\t | Ver dados [5] |"); printf("\n\t\t | Sair [6] |"); printf("\n\t\t |________________________________|"); do { printf("\n\n\n\t\t\tQual a opcao ?\t\t"); scanf("%c",&o); } while (o<'1'||o>'6'); return o ; } *no caso que referi e para mostrar o ficheiro todo no programa ,ou seja, quando escolhem o caso 5 mostrar o ficheiro todo. Obrigado Link to post Share on other sites
NunoC++ 0 Posted January 20, 2015 Report Share Posted January 20, 2015 (edited) neste codigo abaixo referido quero abrir o ficheiro carros.txt no caso 5 da switch , mas nao sei ... #include #include #include #include void main() { char opc; char menu(); int c; char *nome = "carros.txt"; opc= menu(); switch(opc) { case '1' : printf("\nlol\n\n"); break; case '2' : printf("\nlol\n\n"); break; case '3' : printf("\lol 3\n\n"); break; case '4' : printf("\lol\n\n"); break; case '5' : break; case '6' : break; } } char menu(); { char o ; printf("\n\t\t ________________________________"); printf("\n\t\t | |"); printf("\n\t\t | Adicionar carros [1] |"); printf("\n\t\t | Retirar carros [2] |"); printf("\n\t\t | Pesquisar carros [3] |"); printf("\n\t\t | Pesquisar Lugar [4] |"); printf("\n\t\t | Ver dados [5] |"); printf("\n\t\t | Sair [6] |"); printf("\n\t\t |________________________________|"); do { printf("\n\n\n\t\t\tQual a opcao ?\t\t"); scanf("%c",&o); } while (o<'1'||o>'6'); return o ; } *no caso que referi e para mostrar o ficheiro todo no programa ,ou seja, quando escolhem o caso 5 mostrar o ficheiro todo. Obrigado Pode não ser a solução mais viável, mas como não sei o que pretendes, vou-te dar uma lógica básica para perceberes: case 5: loadFicheiro(); break; ... //Não te esqueças de declarar a função no inicio do ficheiro //Esta função serve para fazer o load do conteudo que está no ficheiro.txt //Caso queiras Escrever para o ficheiro usa a sugestão que te foi dada pelo nelsonnr void loadFicheiro() { std::ifstream ficheiro; ficheiro.open("ficheiro.txt"); // Ver se existe erros if (ficheiro.fail()) { std::cout << "Falhou o carregamento do ficheiro " + ficheiro + "\n"; } std::string tmp; std::vector<std::string> conteudoFicheiro; //Lê o conteudo que está no ficheiro e passa tudo para o vector com a ajuda da string tmp while (std::getline(ficheiro, tmp)) { conteudoFicheiro.emplace_back(tmp); } //Lê o tamanho do vector e faz cout de todo o conteudo que nele contem para a consola for (int i = 0; i < conteudoFicheiro.size(); i++){ std::cout << conteudoFicheiro[i] << "\n"; } } Não te esqueças de fazer o include #include<string> #include<fstream> #include<iostream> #include<vector> Espero ter ajudado, Abraço. Edited January 23, 2015 by apocsantos Link to post Share on other sites
Erik 0 Posted November 9, 2020 Report Share Posted November 9, 2020 void ler_dadosInicio() { ifstream ficheiro; ficheiro.open("ficheiro.txt"); if (ficheiro.fail()) { cout << "Falhou o carregamento do ficheiro " + ficheiro + "\n"; } string tmp; vector<dados>&vt; while ( getline(ficheiro, tmp)) { vt.emplace_back(tmp); } if (ficheiro.is_open()) { while ( getline (ficheiro,dados) ) { cout << dados << endl; } ficheiro.close(); } else cout << "IMPOSSÍVEL ABRIR FICHEIRO"; } A aplicação deverá ler os dados do ficheiro quando é iniciada (se o ficheiro existir) e colocar os mesmos na estrutura de dados; Estou com uma dificuldade na última parte, alguém consegue ajudar-me. sfv? Link to post Share on other sites
Erik 0 Posted November 9, 2020 Report Share Posted November 9, 2020 6 minutos atrás, Erik disse: void ler_dadosInicio() { ifstream ficheiro; ficheiro.open("ficheiro.txt"); if (ficheiro.fail()) { cout << "Falhou o carregamento do ficheiro " + ficheiro + "\n"; } string tmp; vector<dados>&vt; while ( getline(ficheiro, tmp)) { vt.emplace_back(tmp); } if (ficheiro.is_open()) { while ( getline (ficheiro,dados) ) { cout << dados << endl; } ficheiro.close(); } else cout << "IMPOSSÍVEL ABRIR FICHEIRO"; } A aplicação deverá ler os dados do ficheiro quando é iniciada (se o ficheiro existir) e colocar os mesmos na estrutura de dados; Estou com uma dificuldade na última parte, alguém consegue ajudar-me. sfv? Spoiler Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now