Squadfury 0 Denunciar mensagem Publicado 11 de Maio de 2015 (editado) Olá pessoal... Estou com um pequeno problema: fiz um programa e quero guardar os dados num ficheiro .txt, até aqui tudo bem... o problema é que eu quero que seja o utilizador a inserir o nome que o ficheiro terá e não sei como fazer ofstream ficheiro("Nota.txt"); if (ficheiro.is_open()) { for (int i = 0; i < numalunos; i++) { ficheiro << "****************************************" << endl; ficheiro << setw(10) << "Alunos Aprovados" << i + 1 << ": " << aprovado[i].titulo << endl; ficheiro << "****************************************\n" << endl; ficheiro << " Instituicao: " << aprovado[i].instituicao << endl; ficheiro << " nota 1: " << aprovado[i].nota1 << endl; ficheiro << "nota 2: " << aprovado[i].nota2 << endl; ficheiro << " Nota Final: " << aprovado[i].notaFinal << endl; ficheiro << "________________________________________\n" << endl; } myfile.close(); cout << "Ficheiro criado com sucesso" << endl; cout << "PRIMA qualquer tecla para voltar ao Menu Alunos..."; } Neste exemplo o ficheiro é gravado como Nota.txt, mas eu queria saber como é que faço para que o utilizador insira o nome que quer atribuir ao ficheiro... Obrigado Editado 11 de Maio de 2015 por Squadfury Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
HappyHippyHippo 1185 Denunciar mensagem Publicado 11 de Maio de 2015 sabes pedir uma string ao utilizador ? (eu acho que sim por supor que a informação da 'instituição' é algo dado pelo utiizador) dessa forma, é só passar essa string como argumento da função de inicialização/construção do stream de interação com o ficheiro. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Squadfury 0 Denunciar mensagem Publicado 11 de Maio de 2015 sabes pedir uma string ao utilizador ? (eu acho que sim por supor que a informação da 'instituição' é algo dado pelo utiizador) dessa forma, é só passar essa string como argumento da função de inicialização/construção do stream de interação com o ficheiro. Eu tentei fazer desta maneira: inicializei uma variável do tipo string e pedi ao utilizador que que inserisse o nome do ficheiro, depois fiz cin, mas em termos de extruturação não sei como é que ponho essa string a ser o nome do ficheiro... Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
HappyHippyHippo 1185 Denunciar mensagem Publicado 11 de Maio de 2015 (editado) não sei como é que ponho essa string a ser o nome do ficheiro... é só passar essa string como argumento da função de inicialização/construção do stream de interação com o ficheiro. Editado 11 de Maio de 2015 por HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Squadfury 0 Denunciar mensagem Publicado 11 de Maio de 2015 sting nome; Olha peço desculpa mas alguma coisa está a escapar-me. Como é que eu "obrigo" a que o ficheiro seja .txt? da maneira que eu fiz - só ofstream ficheiro(nome) - ele cria o ficheiro com o nome atribuido pelo utilizador mas a extensão não é .txt e eu ja tentei (nome.txt) ou (nome,".txt") e não dá. Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
HappyHippyHippo 1185 Denunciar mensagem Publicado 11 de Maio de 2015 a variável nome irá conter o nome do ficheiro. o que tu chamas de extensão não é mais do que um artefacto no final desse nome que o sistema operativo usa para ter uma ideia de que tipo de dados o ficheiro contem. se a extensão é algo que faz parte desse nome, então a variável nome deverá conter esse "bocado de texto" no final. agora tens duas opções: ou obrigas o utilizador a inserir essa terminação ou adicionas tu essa terminação. nota: a extensão não força o tipo de dados que o ficheiro contem. nota que colocares, por exemplo, .zip e escreveres texto no ficheiro, este continua a ser um ficheiro de texto passível de ser lido por qualquer editor de texto assim como qualquer aplicação escrita para ler esse mesmo texto. 1 IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Squadfury 0 Denunciar mensagem Publicado 11 de Maio de 2015 Obrigado Happy, percebi a ideia... vou tentar adicionar a terminação, se não conseguir vou ter de pedir ao utilizador para escrever um nome do tipo .txt.. Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites