Rumah > pembangunan bahagian belakang > C++ > Penulisan Fail Perduaan lwn Teks: Apakah Perbezaan Utama dalam Pengendalian Data?

Penulisan Fail Perduaan lwn Teks: Apakah Perbezaan Utama dalam Pengendalian Data?

Mary-Kate Olsen
Lepaskan: 2024-12-25 14:14:09
asal
888 orang telah melayarinya

Binary vs. Text File Writing: What are the Key Differences in Data Handling?

Memahami Perbezaan Antara Penulisan Fail Mod Binari dan Teks

Apabila menulis data ke fail, pengaturcara boleh memilih antara mod binari dan mod teks . Mod binari membenarkan pemindahan data terus tanpa sebarang pengubahsuaian, manakala mod teks menggabungkan terjemahan tertentu khusus untuk MS Visual C.

Pertimbangkan coretan kod berikut yang menulis data ke fail:

unsigned char buffer[256];
for (int i = 0; i < 256; i++) buffer[i] = i;
int size = 1;
int count = 256;
Salin selepas log masuk

Dalam mod binari, data ditulis terus ke fail:

FILE *fp_binary = fopen(filename, "wb");
fwrite(buffer, size, count, fp_binary);
Salin selepas log masuk

Dalam mod teks, bagaimanapun, data menjalani terjemahan tertentu sebelum ditulis:

FILE *fp_text = fopen(filename, "wt");
fwrite(buffer, size, count, fp_text);
Salin selepas log masuk

Khususnya, pada Windows, terjemahan berikut berlaku apabila membuka fail dalam mod teks:

  • Suapan talian ('n') ialah ditukar kepada jujukan 'rn' pada output.
  • Jurutan suapan penghantaran/baris ditukar kepada suapan talian pada input.
  • Dalam mod tambah, hujung fail disemak untuk aksara Ctrl Z ('x1A'). Jika ada, ia dialih keluar dan aksara itu dianggap sebagai penghujung fail. Walau bagaimanapun, ia tidak dilampirkan pada fail.

Atas ialah kandungan terperinci Penulisan Fail Perduaan lwn Teks: Apakah Perbezaan Utama dalam Pengendalian Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan