Méthode rapide et sale pour copier les fichiers dans C ++

Il ya une façon rapide et sale, vous pouvez copier un fichier, et vous pouvez l'utiliser pour déplacer également, supprimer et renommer des fichiers. Cependant, cette méthode est absolument pas portable: en effet, si vous faites cela sur Windows, par exemple, vous ne serez pas en mesure d'exécuter la même application sur Unix, et vice versa. Cela signifie que vous avez à faire une version pour le système d'exploitation que vous utilisez.

Maintenant, si vous êtes familier avec DOS (rappelez-vous que?) Ou le shell Unix, vous pouvez exécuter des commandes DOS ou Unix-shell en utilisant le système fonction. Si vous utilisez Dev-C ++, vous avez déjà vu la système fonctionner à plusieurs reprises:

system ("PAUSE") -

Cela va à l'DOS pause commande, qui imprime le message




Appuyez sur n'importe quelle touche pour continuer # x2026-

et attend que vous appuyez sur la touche de préférence (ou toute autre touche d'ailleurs). Parce que le système fonction peut exécuter toute commande DOS ou shell, vous pouvez l'utiliser pour appeler la commande de copie DOS, comme ceci:

système ("copy c: abc.txt c: def.txt") -

Notez que vous devez utiliser la barre oblique inverse, pas un avant slash- DOS ne aiment pas vraiment des barres obliques. Pour faire la commande DOS-friendly, utiliser deux barres obliques à l'intérieur de la chaîne.

Lorsque vous utilisez cette approche, vous pouvez exécuter dans certaines situations étranges. Par exemple, si vous écrivez une application qui appelle système et vous avez l'intention de l'exécuter sous le Cygwin environnement dans Windows, vous pouvez utiliser le style Unix cp commande au lieu de la DOS copie commande. La commande bizarre résultant ressemble à ceci:

système ("cp c: abc.txt c: def.txt") -

Mais vous ne pouvez utiliser cette commande sous la Cygwin environnement. Sinon, il vous donne un message d'erreur huffy:

'CP' est pas reconnu comme une commande interne ou externe, utilisable # x00AD-programme ou un fichier batch.

Moral: Vous devez vous assurer que la commande que vous appelez dans le système fonction existe vraiment dans l'environnement à partir duquel vous émettez l'appel.


» » » » Méthode rapide et sale pour copier les fichiers dans C ++