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

Hellblazzer

Limpar ficheiro .txt

5 mensagens neste tópico

Boas pessoal.

Ando a programar C em Linux na faculdade.

Estou aqui a praticar umas coisas da 2ª aula prática de hoje e estou na manipulação de txt's, como ando a testar uns exercícios lembrei-me de fazer um programa que limpasse um ficheiro .txt dando o seu nome.

#include <stdio.h>
main () {
FILE *fp;
char nome[40];

printf ("Introduza o nome do ficheiro a limpar: \n");
fgets(nome, 40, stdin);

fp = fopen (nome, "w");

fprintf (fp, "" ); //Aqui o meu objectivo era fazer com que o ficheiro .txt ficasse vazio*

return 0;

}

* Mas como seria de esperar, não funcionou. Tenho de fazer um for, certo? Mas como?

Se me pudessem ajudar agradecia imenso  :P:D

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O fgets coloca um '\n' no fim da string lida.

O fprintf também não está lá a fazer nada, e devias ter um fclose.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pelas dicas.

Mas para fazer com que o ficheiro fique todo vazio, apagar tudo o que lá está, o que devo fazer?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pelas dicas.

Mas para fazer com que o ficheiro fique todo vazio, apagar tudo o que lá está, o que devo fazer?

O teu problema está no fgets. Se não removeres o \n do fim, vais usar um nome errado para abrir o ficheiro.

Para apagares um ficheiro, basta abrir-lo em modo de escrita, e depois fechá-lo (foi isto que tentei dizer no post anterior).

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