Método rápido e sujo para copiar arquivos em c ++

Há uma maneira rápida e suja você pode copiar um arquivo, e você pode usar isso para também mover, excluir e renomear arquivos. No entanto, este método não é absolutamente portátil: com efeito, se você fizer isso no Windows, por exemplo, você não será capaz de executar o mesmo aplicativo em Unix, e vice-versa. Ou seja, você tem que fazer uma versão para o sistema operacional que você está usando.

Agora, se você estiver familiarizado com o DOS (lembra disso?) Ou o shell do Unix, você pode executar qualquer comando DOS ou Unix-shell usando a sistema função. Se você usar o Dev-C ++, você já viu o sistema funcionar muitas vezes:

sistema("PAUSA") -

Isso executa o DOS pausa comando, que imprime a mensagem

pressione qualquer tecla para continuar &# x2026-

e espera que você pressione a qualquer tecla (ou qualquer outra tecla para que o assunto). Porque o sistema função pode executar qualquer comando DOS ou shell, você pode usá-lo para chamar o comando de cópia DOS, como este:

Video: Programar em C - Copiar Conteúdo de Arquivo txt em Outro - Aula 85



sistema("copiar c: Abc.txt c: def.txt") -

Note que você tem que usar a barra invertida, não uma frente slash- DOS realmente não gosta barras normais. Para tornar o comando DOS-friendly, use duas barras invertidas dentro da cadeia.

Video: 2# Como copiar arquivos de um local para outro no CMD - prompt de Comando

Quando você usar essa abordagem, você pode correr em algumas situações estranhas. Por exemplo, se você escrever um aplicativo que chama sistema e você está planejando para executá-lo sob a Cygwin ambiente no Windows, você pode usar o estilo Unix cp comando em vez do DOS cópia de comando. O comando estranho resultando parece com isso:

sistema("cp c: Abc.txt c: def.txt") -

Mas você só pode usar este comando sob a Cygwin meio Ambiente. Caso contrário, ele dá-lhe uma mensagem de erro irritado:

`Cp` não é reconhecido como um comando interno ou externo, operável &# X00AD-programa ou arquivo em lotes.

Moral: Você tem que ter certeza que tudo o que vos mando chamar o sistema função realmente existe no ambiente a partir do qual você emitir a chamada.


Publicações relacionadas