Wie zum Kopieren von Dateien in C ++

Ah, das Kopieren einer Datei - etwas so einfach, es geschieht die ganze Zeit. Kopieren Sie diese Datei Aus diesem hier die Datei kopieren. Aber was genau geschieht, wenn Sie eine Datei kopieren? Sie erstellen eigentlich ein neu Datei, und füllen Sie ihn mit dem gleichen Inhalt wie die Originaldatei. Und wie macht man das?

Nun, es klingt wie Sie jedes einzelne Byte aus der ersten Datei lesen müssen, und schreiben Sie es auf den zweiten. Big-Zeit igitt.

Aber noch schlimmer zu machen, das Kopieren einer Datei bedeutet, dass Sie müssen sicherstellen, dass Sie es genau das gleiche zu kopieren, dass Sie nicht versehentlich eine zusätzliche 0 oder zwei am Ende der Datei heften, oder einen zusätzlichen Wagenrücklauf oder Zeilenvorschub bei das Ende der Datei (die passieren könnte, wenn Sie eine Textdatei kopieren).

Wenn alles erledigt ist, sollten die beiden Dateien identisch sein - nicht nur die enthalten gleichen Informationen, sondern auch die sein gleiche Größe.

Und oben auf alles, was die meisten guten Kopierroutinen noch mehr tun! Sie geben der neuen Datei ein Datum, das das Datum der ursprünglichen Datei übereinstimmt, und sie werden gesetzt alle Attribute - einschließlich, sagen wir, schreibgeschützt, wenn das Original ist eine schreibgeschützte Datei. (Wenn die Datei schreibgeschützt ist, dann sollten Sie vielleicht nicht in der Lage sein, es in erster Linie zu kopieren.. ..)

Plötzlich das Kopieren einer Datei klingt nicht so einfach, nachdem alle!

Wenn Sie in Windows sind Programmierung, haben Sie Glück! Solange Sie nicht mit dem alten Windows 3.1 verwenden, erhalten Sie eine Datei kopieren Funktion! Um bereit, es zu benutzen, schließen Sie die Zeile #einschließen in Ihrer Anwendung. Dann ist hier alles, was Sie zu tun haben:

Copyfile ( "c: /dog.txt", "c: /dog2.txt", TRUE) -

Diese Kopien von c: /dog.txt nach c: /dog2.txt. Aber beachten Sie den letzten Parameter: Es ist das Wort WAHR in allen Hauptstädten. Was ist das? Das ist ein Präprozessormakro irgendwo in den Eingeweiden der Windows-Header-Dateien definiert.

Sie müssen entweder WAHR oder FALSCH wenn eine der Windows-Funktionen aufrufen. Das ist, weil in den alten Tagen von C, wenn die frühen Versionen von Windows wurden erfunden, keine bool Typ existierte. Diese findige Menschen des späten 20. Jahrhunderts hatten ihre eigene zu definieren WAHR und FALSCH als ganze Zahlen (in der Regel entweder 1 bzw. 0 bzw. 0 bzw. 1).

Und übrigens, dass die endgültigen Parameter in Datei kopieren erzählt die Funktion, was, wenn die Datei, die Sie kopieren zu tun, existiert bereits: WAHR Mittel nicht überschreiben die vorhandene File- nur abbrechen. FALSCH bedeutet es überschreiben.

Menü