Rápida e suja método 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 todos os comandos DOS ou Unix-shell usando a sistema função. Se você usar o Dev-C ++, você já viu o sistema funcionar muitas vezes:
system ( "PAUSE") -
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:
system ( "copy 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 de barras. Para tornar o comando DOS-friendly, use duas barras invertidas dentro da cadeia.
Quando você usa esse método, 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 comando. O comando estranho resultante parece com isso:
system ( "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.