Schnell und unsaubere Methode, um Dateien in C ++ zu kopieren

Es ist eine schnelle und unsaubere Weise können Sie eine Datei kopieren, und Sie können dies auch bewegen zu verwenden, zu löschen und Dateien umbenennen. Allerdings ist diese Methode absolut nicht tragbar: in der Tat, wenn Sie tun dies auf Windows, zum Beispiel, werden Sie nicht in der Lage sein, die gleiche Anwendung auf Unix, und umgekehrt laufen. Das heißt, Sie müssen Sie verwenden eine Version für das Betriebssystem zu machen.

Nun, wenn Sie mit DOS vertraut sind (denken Sie daran, dass?) Oder die Unix-Shell können Sie DOS oder Unix-Shell-Befehle ausführen, indem die Verwendung von System Funktion. Wenn Sie Dev-C ++ verwenden, haben Sie bereits die gesehen System funktionieren oft:

System ( "PAUSE") -

Dadurch wird der DOS Pause Befehl, der die Meldung ausgibt

Drücken Sie eine beliebige Taste, um fortzufahren # x2026-

und wartet, bis Sie die Funktionstaste (oder einen anderen Schlüssel für diese Angelegenheit) zu drücken. Weil das System Funktion kann jede DOS oder Shell-Befehl ausführen, können Sie es verwenden, das DOS-Kopierbefehl aufrufen, wie folgt aus:

System ( "copy c: abc.txt c: def.txt") -

Beachten Sie, dass Sie den umgekehrten Schrägstrich verwenden müssen, kein vorwärts slash- DOS wirklich nicht mag Schrägstri-. Um den Befehl DOS-freundlicher zu machen, verwenden Sie zwei Schrägstriche in der Zeichenfolge.

Wenn Sie diesen Ansatz verwenden, können Sie in einige seltsame Situationen führen. Zum Beispiel, wenn Sie eine Anwendung schreiben, die Anrufe System und Sie planen, es unter die laufen Cygwin Umwelt in Windows können Sie den Unix-Stil verwenden cp Befehl anstelle des DOS Kopieren Befehl. Der resultierende seltsame Befehl sieht wie folgt aus:

System ( "cp c: abc.txt c: def.txt") -

Aber Sie können diesen Befehl nur unter den Einsatz Cygwin Umwelt. Ansonsten gibt es Ihnen eine huffy Fehlermeldung:

'Cp' wird nicht als interner oder externer Befehl erkannt, betreibbar # X00AD-Programm oder Batch-Datei.

Moral: Sie müssen sicherstellen, dass das, was befehlen Sie anrufen in der System Funktion existiert wirklich in der Umgebung, aus der Sie den Anruf erteilen.

Menü