Bagikan melalui


Aliran teks dan biner

Aliran teks terdiri dari satu atau beberapa baris teks yang dapat ditulis ke tampilan berorientasi teks sehingga dapat dibaca. Ketika dibaca dari aliran teks, program membaca baris baru di akhir setiap baris. Ketika menulis ke aliran teks, program menulis garis baru untuk memberi sinyal akhir baris. Untuk mencocokkan konvensi yang berbeda di antara lingkungan target untuk mewakili teks dalam file, fungsi pustaka dapat mengubah jumlah dan representasi karakter yang ditransmisikan antara program dan aliran teks.

Penempatan dalam aliran teks terbatas. Anda dapat memperoleh indikator posisi file saat ini dengan memanggil fgetpos atau ftell. Anda dapat memposisikan aliran teks pada posisi yang diperoleh dengan cara ini, atau di awal atau akhir aliran, dengan memanggil fsetpos atau fseek. Perubahan posisi lainnya mungkin tidak didukung.

Untuk portabilitas maksimum, program tidak boleh menulis:

  • File kosong.
  • Karakter spasi di akhir baris.
  • Baris parsial (dengan menghilangkan baris baru di akhir file).
  • Karakter selain karakter yang dapat dicetak, baris baru, dan tab horizontal.

Jika Anda mengikuti aturan ini, urutan karakter yang Anda baca dari aliran teks akan cocok dengan urutan karakter yang Anda tulis, baik sebagai byte atau sebagai karakter multibyte. Jika tidak, fungsi pustaka dapat menghapus file yang Anda buat jika file kosong saat Anda menutupnya. Atau, mereka dapat mengubah atau menghapus karakter yang Anda tulis ke file.

Aliran biner terdiri dari satu atau beberapa byte informasi arbitrer. Anda dapat menulis nilai yang disimpan dalam objek arbitrer ke aliran biner (berorientasi byte) dan membaca dengan tepat apa yang disimpan dalam objek saat Anda menulisnya. Fungsi pustaka tidak mengubah byte yang Anda kirimkan antara program dan aliran biner. Namun, mereka dapat menambahkan jumlah NULL byte arbitrer ke file yang Anda tulis dengan aliran biner. Program harus menangani byte tambahan NULL ini di akhir aliran biner.

Penempatan dalam aliran biner didefinisikan dengan baik, kecuali untuk posisi relatif terhadap akhir aliran. Anda dapat memperoleh dan mengubah indikator posisi file saat ini sama seperti untuk aliran teks. Offset yang digunakan oleh ftell dan fseek menghitung byte dari awal aliran (yaitu byte zero), sehingga aritmatika bilangan bulat pada offset ini menghasilkan hasil yang dapat diprediksi.

Aliran byte memperlakukan file sebagai urutan byte. Dalam program, aliran terlihat seperti urutan byte yang sama, kecuali untuk kemungkinan perubahan yang dijelaskan di atas.

Baca juga

File dan aliran