/* Exemplo de copia de um arquivo */ /* Utilizacao deste programa: copia-arquivo nome_arquivo_fonte nome_novo_arquivo */ #include #include main (int argc, char *argv[]) { FILE *arqEntrada, *arqSaida; unsigned char buffer[8]; /* Um buffer de 64 bits (apenas para exemplo)*/ char ch; if (argc !=3) { printf("ERRO: EE preciso especificar o nome do arquivo a ser copiado e seu novo nome\n"); exit (1); } if ((arqEntrada = fopen(argv[1], "rb")) == NULL) { printf ("ERRO: O arquivo de entrada nao pode ser aberto\n"); exit (1); } if ((arqSaida = fopen(argv[2], "wb")) == NULL) { printf ("ERRO: O arquivo de sai­da nao pode ser aberto\n"); exit (1); } /* copiando o arquivo */ while(!feof(arqEntrada)) { ch = getc (arqEntrada); if(ferror(arqEntrada)) { printf("Erro lendo o arquivo"); break; } putc (ch, arqSaida); if(ferror(arqSaida)) { printf("Erro na gravacao do arquivo"); break; } } fclose(arqEntrada); fclose(arqSaida); return 0; }