Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

msr

fopen("nomefich","r+")

Mensagens Recomendadas

msr    0
msr

Ola pessoal,

Queria fazer o seguinte: no inicio de um programa ao tentar abrir um ficheiro, se nao existir, cria-o. Se existir utiliza-o para leitura (sem o destruir/recriar)

Eu pensei que colocando a opcao "r+" no fopen a funçao fizesse o que aqui descrevo. Mas a função retorna NULL.

Apenas a "w+" cria de facto o ficheiro, mas essa, se o ficheiro ja existir recria-o e nao é isso que quero.

Sugestões?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
IceBrain    1
IceBrain

Qual é o problema de fazer simplesmente:

FILE *file;

if((file = fopen("nome","r")) == NULL) 
  file = fopen("nome", "w");

Também podes usar fopen("nome", "a+") e depois um rewind(), mas é um pouco estranho.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
msr    0
msr

Exactamente, foi isso que acabei por por mas com o "w+" no segundo fopen() uma vez que queria isto para leitura.

Eu tava mesmo na ideia que o "r+" fazia isso...

Obrigado IceBrain.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade