Video: Cara Input/Output File di C++ Menggunakan Fstream 2024
Ah, menyalin file - sesuatu yang sangat sederhana, itu selalu terjadi. Salin file ini disana; salin file itu disini Tapi apa sebenarnya yang terjadi saat Anda menyalin file? Anda benar-benar membuat file baru , dan mengisinya dengan konten yang sama seperti file aslinya. Dan bagaimana Anda melakukannya?
Nah, sepertinya Anda harus membaca setiap byte dari file pertama, dan tuliskan ke yang kedua. Big-time yuck.
Tapi untuk memperburuk keadaan, menyalin file berarti Anda harus memastikan bahwa Anda menyalinnya persis sama, sehingga Anda tidak secara tidak sengaja menempelkan tambahan 0 atau dua pada akhir file, atau carriage return tambahan atau linefeed di akhir file (yang bisa terjadi saat Anda menyalin file teks).
Bila semua selesai, kedua berkas itu harus sama - tidak hanya mengandung informasi yang sama , tetapi juga menjadi ukuran yang sama .
Dan di atas semua itu, kebanyakan rutinitas copy yang bagus bahkan bisa dilakukan lagi! Mereka memberi file baru tanggal yang sesuai dengan tanggal file asli, dan mereka akan mengatur semua atribut - termasuk, katakanlah, hanya-baca jika file aslinya adalah file hanya-baca. (Jika file itu hanya bisa dibaca, mungkin Anda seharusnya tidak bisa menyalinnya di tempat pertama …)
Tiba-tiba menyalin file tidak terdengar begitu mudah!
Jika Anda memprogram di Windows, Anda beruntung! Selama Anda tidak menggunakan Windows kuno 3. 1, Anda mendapatkan fungsi CopyFile! Agar siap menggunakannya, Anda menyertakan baris # termasuk dalam aplikasi Anda. Maka inilah yang harus Anda lakukan:
CopyFile ("c: / dog. Txt", "c: / dog2. Txt", TRUE);
Salinan ini dari c: / anjing txt ke c: / dog2 txt. Tapi perhatikan parameter terakhirnya: Ini kata TRUE di semua ibu kota. Apa itu? Itu adalah makro preprocessor yang didefinisikan di suatu tempat di isi file header Windows.
Anda harus menggunakan TRUE atau FALSE saat memanggil salah satu fungsi Windows. Itu karena di masa lalu C, ketika versi awal Windows ditemukan, tidak ada tipe bool yang ada. Orang-orang yang cakap pada akhir abad ke-20 harus mendefinisikan TRUE dan FALSE mereka masing-masing sebagai bilangan bulat (biasanya masing-masing 1 dan 0, atau 0 dan 1).
Dan omong-omong, parameter terakhir di CopyFile memberitahu fungsi apa yang harus dilakukan jika file yang Anda tiru sudah ada: TRUE berarti tidak menimpa file yang ada; batalkan saja FALSE berarti menimpanya.