Como copiar arquivos em c ++

Ah, copiando um arquivo - algo tão simples, isso acontece o tempo todo. Copie este arquivo lá- copiar esse arquivo aqui. Mas o que exatamente ocorre quando você copiar um arquivo? Você realmente criar um Novo

arquivo, e preenchê-lo com o mesmo conteúdo que o arquivo original. E como você faz isso?

Bem, parece que você tem que ler cada byte do primeiro arquivo, e escrevê-lo para o segundo. eca-time grande.

Mas, para piorar a situação, copiar um arquivo significa que você tem que ter certeza que você copiá-lo exatamente o mesmo, que você não possa alinhavar um extra 0 ou dois no final do arquivo, ou um retorno de carro extra ou avanço de linha o fim do arquivo (que pode acontecer quando você copiar um arquivo de texto).

Video: Leitura de arquivo texto linha a linha

Quando tudo estiver pronto, os dois arquivos devem ser idênticos - não só conter a mesma informação, mas também ser o mesmo tamanho.

E em cima de tudo isso, a maioria das boas rotinas de cópia fazer ainda mais! Eles dão o novo arquivo de uma data que coincide com a data do arquivo original, e eles vão definir todos os atributos - incluindo, por exemplo, somente leitura se o original é um arquivo somente leitura. (Se o arquivo é somente leitura, então talvez você não deve ser capaz de copiá-lo em primeiro lugar.. ..)



De repente, a cópia de um arquivo não parecer tão fácil depois de tudo!

Se você está programando no Windows, você está na sorte! Contanto que você não está usando o antigo Windows 3.1, você recebe um CopyFile função! Para se preparar para usá-lo, você incluir a linha #incluir na sua aplicação. Então aqui é tudo que você tem que fazer:

Video: Trabalhando com arquivos em Cpp/C++

CopyFile ("c: /dog.txt", "c: /dog2.txt", VERDADE)-

Isto copia de c: /dog.txt para c: /dog2.txt. Mas observe o parâmetro final: É a palavra VERDADE em todas as capitais. O que é isso? Essa é uma macro pré-processador definido em algum lugar nas entranhas dos arquivos de cabeçalho do Windows.

Você tem que usar VERDADE ou FALSO ao chamar qualquer uma das funções do Windows. Isso porque nos velhos tempos de C, quando as primeiras versões do Windows foram inventados, não bool Tipo existiu. Essas pessoas engenhosos do final do século 20 teve de definir o seu próprio VERDADE e FALSO como números inteiros (geralmente ou 1 e 0, respectivamente, ou 0 e 1, respectivamente).

E, a propósito, que o parâmetro final em CopyFile conta a função que fazer se o arquivo que você está copiando já que existe: VERDADE meios não substituir o file- existente apenas abortar. FALSO significa substituí-lo.


Publicações relacionadas