Hellblazzer Posted February 18, 2009 at 09:18 PM Report Share #245424 Posted February 18, 2009 at 09:18 PM 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 😛😄 Cumps Link to comment Share on other sites More sharing options...
Rui Carlos Posted February 18, 2009 at 10:54 PM Report Share #245453 Posted February 18, 2009 at 10:54 PM 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. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
Hellblazzer Posted February 20, 2009 at 09:16 AM Author Report Share #245713 Posted February 20, 2009 at 09:16 AM Obrigado pelas dicas. Mas para fazer com que o ficheiro fique todo vazio, apagar tudo o que lá está, o que devo fazer? Link to comment Share on other sites More sharing options...
Rui Carlos Posted February 20, 2009 at 09:32 AM Report Share #245714 Posted February 20, 2009 at 09:32 AM 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). Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
Hellblazzer Posted February 20, 2009 at 10:14 AM Author Report Share #245723 Posted February 20, 2009 at 10:14 AM Ah ok, muito obrigado! 😕 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now