File Biner dan File Teks pada Pemrograman C

Posted by belajar



Pada saat file dibuka, file bisa diperlakukan sebagai file biner atau file teks. File biner adalah file yang pola penyimpanan di dalam disk berbentuk biner, yaitu seperti bentuk pada memori RAM (komputer). Misalnya data bertipe int selalu akan menempati ruang 4 byte (pada mesin 32 bit), berapapun harganya.
Sedangkan file teks merupakan file yang pola penyimpanan datanya dalam bentuk karakter. Bilangan bertipe int misalnya, bisa saja menempati ruang 1 byte, 2 byte atau lebih bergantung kepada nilai dari bilangannya. Sebagai contoh, bilangan 54 akan disimpan dalam 2 byte (berupa karakter 5 dan 4), tetapi bilangan 123 akan disimpan dalam 3 byte. File seperti ini bisa dilihat langsung dengan perintah TYPE melalui prompt DOS atau memakai editor teks (seperti Notepad).
File teks biasanya dipakai untuk menyimpan data bertipe karakter atau string. Sedangkan file biner dipakai untuk menyimpan data bilangan atau data kompleks, seperti struktur (struct).
Penambahan yang perlu dilakukan untuk menentukan mode teks atau mode biner berupa :


t untuk mode teks
b untuk mode biner
Contoh :

  •  " rt "    Berarti mode file adalah teks dan file hendak dibaca
  •  " rt+ "    Berarti mode file adalah teks dan file bisa dibaca dan ditulisi Bentuk penulisan yang lain (tetapi maknanya sama) : " r+t "
  •  " rb"    Berarti mode file adalah biner dan file hendak dibaca.


Catatan :
Jika pada mode file tidak terdapat karakter t atau b, mode file akan ditentukan oleh variabel global bernama imode (deklarasinya ada pada file fcntl.h). Jika imode tidak dilibatkan dalam program, maka mode file yang tak mengandung t atau b akan diperlakukan sebagai file teks (secara default).
Variabel _fmode bisa diisi dengan O_BINARY untuk menyatakan file biner, atau O_TEXT untuk menyatakan file teks. Contoh :

_fmode = 0 _BINARY;
pf = fopen("TEST1", "r");

Berarti bahwa "TEST1 " adalah file biner dan hendak dibaca.
O_TEXT ataupun O_BINARY didefinisikan pada file fcntl.h