thinkabout Posted May 12, 2013 at 07:32 PM Report #507020 Posted May 12, 2013 at 07:32 PM (edited) Boas, Sugestões ? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> /* Ex5. Desenvolva uma função que troque o conteúdo de dois ficheiros. Os nomes dos ficheiros são passados como argumentos da função. */ int main(int argc, const char * argv[]) { char c; FILE *troca1 , *temporario, *troca2; /* Testar a Linha de Comando */ if (argc!=4) { printf("Sintaxe: \n\n%s Origem temporario Destino\n\n",argv[0]); exit(1); /*Termina o Programa*/ } // Vou copiar o troca 1 para o temporario. troca1 -> temporario if ( (troca1=fopen(argv[1],"r"))== NULL ) { printf("Erro de abertura do ficheiro\n"); exit(2); } if ( (temporario=fopen(argv[2],"w"))== NULL ) { printf("Erro de abertura do ficheiro\n"); exit(3); } while (fread(&c,sizeof(char),1,troca1)==1) { fwrite(&c,sizeof(char),1,temporario); } fclose(troca1); fclose(temporario); // Vou abrir o troca1 para escrever la o que está no troca 2. if ( (troca1=fopen(argv[1],"w"))== NULL ) { printf("Erro de abertura do ficheiro\n"); exit(4); } if ( (troca2=fopen(argv[3],"r"))== NULL ) { printf("Erro de abertura do ficheiro\n"); exit(5); } while (fread(&c,sizeof(char),1,troca2)==1) { fwrite(&c,sizeof(char),1,troca1); } fclose(troca1); fclose(troca2); // Vou abrir o temporario para escrever o que me falta no troca 2. if ( (troca2=fopen(argv[3],"w"))== NULL ) { printf("Erro de abertura do ficheiro\n"); exit(6); } if ( (temporario=fopen(argv[2],"r"))== NULL ) { printf("Erro de abertura do ficheiro\n"); exit(7); } while (fread(&c,sizeof(char),1,temporario)==1) { fwrite(&c,sizeof(char),1,troca2); } fclose(troca2); fclose(temporario); remove(argv[2]); // Apagar o ficheiro temporário criado. return 0; } Edited May 12, 2013 at 07:35 PM by thinkabout
HappyHippyHippo Posted May 12, 2013 at 07:34 PM Report #507021 Posted May 12, 2013 at 07:34 PM http://pubs.opengroup.org/onlinepubs/009695399/functions/unlink.html IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
thinkabout Posted May 12, 2013 at 07:37 PM Author Report #507022 Posted May 12, 2013 at 07:37 PM (edited) http://pubs.opengroup.org/onlinepubs/009695399/functions/unlink.html ups foste mais rápido, tinha acabo de editar o post e o código e meti. remove(argv[2]); // Apagar o ficheiro temporário criado. Não estou é bem a perceber a diferença do unlink para o remove, vou ver se vejo isso melhor. Edited May 12, 2013 at 07:43 PM by thinkabout
HappyHippyHippo Posted May 12, 2013 at 07:51 PM Report #507023 Posted May 12, 2013 at 07:51 PM Não estou é bem a perceber a diferença do unlink para o remove, vou ver se vejo isso melhor. http://serverfault.com/questions/38816/what-is-the-difference-between-unlink-and-rm IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pmg Posted May 12, 2013 at 08:03 PM Report #507024 Posted May 12, 2013 at 08:03 PM remove() está descrito no Standard de C; unlink() não é Standard, mas quase: está descrito para POSIX. What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
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