• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

msr

fopen("nomefich","r+")

3 mensagens neste tópico

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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

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