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

Nomear arquivo a ser salvo.


Felipe_sp

Pergunta

Olá amigos, algum de vocês teriam uma solução para meu problema, acredito que seja simples. Quero salvar um texto em arquivo .txt, até ai td bem, eu consigo salvar tranquilamente, o porém é que não consigo nomear esse arquivo executando o programa. Por exemplo, no código, eu seleciono o nome do arquivo .txt, porém gostaria de que na hora q executasse o programa, ele fizesse alguma pergunta, como "Salvar arquivo com qual nome?", e eu colocasse o nome que gostaria, entenderam?

Olhem o código:

arquivo = fopen("nomedoarquivo.txt, "w+t");

Eu já seleciono o nome ali antes mesmo de executar, gostaria de saber se tem como eu mudar esse nome com o programa funcionando.

Fico grato desde já.

abraços...

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Acho que o que o Felipe_sp precisa é só alterar o nome do arquivo criado, para isto existe uma função da biblioteca stdio.h camada rename() , a sintaxe é bem simples:

rename(antigo_nome_arq, novo_nome_arq);

conselho: crie variáveis do tipo char e guarde o nome do arquivo antigo e do arquivo novo, depois coloque as variáveis como parametros na função rename:

exemplo: rename(arq1, arq2); onde arq1 contém seu nome antigo e arq2 contém o nome novo.

espero ter ajudado =)

Link para o comentário
Compartilhar em outros sites

  • 0

Não. A questão do OP está bem clara. Ele quer dar ao usuário a oportunidade de salvar o arquivo com o nome que quiser. Pra isso é fácil: perguntar qual nome, já informando o nome default. Se o usuário alterar o nome ou não, é só salvar com o nome que ali estiver. Mas o OP terá de criticar esse nome de arquivo, já que há sempre a possibilidade do usuário utilizar caracteres proibidos.

Link para o comentário
Compartilhar em outros sites

  • 0
Não. A questão do OP está bem clara. Ele quer dar ao usuário a oportunidade de salvar o arquivo com o nome que quiser. Pra isso é fácil: perguntar qual nome, já informando o nome default. Se o usuário alterar o nome ou não, é só salvar com o nome que ali estiver. Mas o OP terá de criticar esse nome de arquivo, já que há sempre a possibilidade do usuário utilizar caracteres proibidos.

Entendi o que você disse, eu nunca usei o rename no windows então não sei quais seriam as restrições mas no linux eu posso salvar o arquivo com o nome que eu quiser e na extensão que eu quiser...e ele poderia informar o nome default do arquivo para o usuário já que este nome estaria guardado na string, como ele pergunta ao usuario o nome do novo arquivo, se ele quiser proibir alguns tipos de nomes bastaria colocar uma validação antes do rename.

O que você acha maligno?

Link para o comentário
Compartilhar em outros sites

  • 0

Veja que não é o caso de renomear, pois o arquivo pode nem existir. O colega quer perguntar ao usuário qual nome usar no arquivo alvo. Daí é como eu disse: há uma série de críticas a fazer. Se for mantido o nome ou não, o arquivo pode existir. Vai sobreescrever? Se sim, a gravação pode falhar se ele já estiver aberto em modo exclusivo. Mas se o alvo ainda não existe, e se o usuário trocar o nome default, há de se analisar o nome informado em busca de caracteres proibidos. Sem falar que há também o problema do diretório destino, se foi informado, se existe ou se existe apenas parte do caminho, etc.

Isso tudo parece coisa simples. Os usuários nem dão muito valor. Mas bote isso num fluxograma pra ver como a coisa pode se extender bastante. Isso que é uma tarefa pequena: salvar dados num arquivo. Mas existem coisas extremamente mais complicadas e trabalhosas. Decididamente, programação não é uma boa àrea pra ganhar dinheiro fácil.

Claro que, para efeito didático, numa tarefa escolar, algumas etapas poderão ser puladas. Mas na vida real a coisa é trabalhosa mesmo. Aí o importante é se antecipar e tratar os erros que eventualmente podem aparecer. E acho que o ideal, mesmo numa tarefa escolar, é não queimar etapa alguma. É melhor ir se acostumando, pois no trabalho do dia-a-dia não se pode pular coisa alguma. Senão, a qualidade vai pro brejo.

Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigos, então...o que eu queria era que no fim do processo, aparecesse para ele uma mensagem pedindo para selecionar o nome do arquivo .txt que vai ser gerado. Fiquei fuçando e acabei conseguindo isso, só criei strings do tipo char e carreguei ele na função FOPEN assim:

char nomearquivo [50];

printf("digite o nome do arquivo:");

gets(nomearquivo);

arquivo = fopen(nomearquivo, "w+t");

Foi simplesmente isso amigos, mas sou muito grato pela ajuda de vocês, sou um total iniciante nessa linguagem e acho fundamental discussões como essas para elevar o nivel de um profissional, muito obrigado mesmo.

abraços....

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...