Video: [C++ von { bis }] 24 Kopieren verboten! 2024
Ah, ich kopiere eine Datei - etwas so Einfaches, es passiert die ganze Zeit. Kopiere diese Datei dorthin; Kopieren Sie diese Datei hier. Aber was genau passiert, wenn Sie eine Datei kopieren? Sie erstellen tatsächlich eine neue Datei und füllen sie mit dem gleichen Inhalt wie die Originaldatei. Und wie machst du das?
Nun, es hört sich so an, als müßten Sie jedes einzelne Byte aus der ersten Datei lesen und in die zweite schreiben. Großartiger Polter.
Aber um es noch schlimmer zu machen, bedeutet das Kopieren einer Datei, dass Sie sicherstellen müssen, dass Sie es genau so kopieren, dass Sie nicht versehentlich eine oder mehrere zusätzliche Dateien am Ende der Datei anheften. oder ein zusätzlicher Wagenrücklauf oder Zeilenvorschub am Ende der Datei (was passieren könnte, wenn Sie eine Textdatei kopieren).
Wenn alles fertig ist, sollten die beiden Dateien identisch sein - nicht nur die gleiche Information enthalten, sondern auch die gleiche Größe .
Darüber hinaus erledigen die meisten guten Kopierroutinen noch mehr! Sie geben der neuen Datei ein Datum, das mit dem Datum der ursprünglichen Datei übereinstimmt, und sie legen alle Attribute fest - einschließlich beispielsweise schreibgeschützt, wenn das Original eine schreibgeschützte Datei ist. (Wenn die Datei schreibgeschützt ist, sollten Sie sie vielleicht nicht kopieren können …)
Plötzlich klingt das Kopieren einer Datei gar nicht so einfach!
Wenn Sie in Windows programmieren, haben Sie Glück! Solange Sie nicht die alte Windows 3. 1 verwenden, erhalten Sie eine CopyFile-Funktion! Um es verwenden zu können, fügen Sie die Zeile #include in Ihre Anwendung ein. Hier ist alles, was Sie tun müssen:
CopyFile ("c: / Hund. Txt", "c: / dog2. Txt", WAHR);
Dies kopiert von c: / dog. txt zu c: / dog2. txt. Beachten Sie aber den letzten Parameter: Es ist das Wort TRUE in allen Großbuchstaben. Was ist das? Das ist ein Präprozessor-Makro, das irgendwo in den Eingeweiden der Windows-Header-Dateien definiert ist.
Sie müssen entweder TRUE oder FALSE verwenden, wenn Sie eine der Windows-Funktionen aufrufen. Das ist, weil in den alten Tagen von C, als die frühen Versionen von Windows erfunden wurden, kein Bool-Typ existierte. Diese findigen Leute des späten 20. Jahrhunderts mussten ihre eigenen TRUE und FALSE als ganze Zahlen definieren (normalerweise entweder 1 und 0 bzw. 0 und 1).
Dieser letzte Parameter in CopyFile gibt übrigens an, was zu tun ist, wenn die Datei, zu der Sie kopieren, bereits existiert: TRUE bedeutet, dass die vorhandene Datei nicht überschrieben wird. einfach abbrechen. FALSE bedeutet, es zu überschreiben.