Langkah pertama harus membuat semua ukuran buffer didefinisikan sebagai nilai konstan, sehingga hal tersebut sangat mudah dimodifikasi, biasanya cukup mudah diingat yaitu misalnya jika ulkurannya 16K maka programmer dapat menggunakan dengan menuliskan 16 * 1024. Atau bentuk konstannya dapat ditulis seperti sebelumnya yaitu 16K. Jika pengguna menggunakan program yang tidak sesuai, akan muncul pesan bahsa hasil atau program mengalami kesalahan. Untuk menolongnya atau membetulkannya maka sebuah pesan akan muncul bagaimana menggunakan program yang betul. Suatu ketika programmer dimungkinkan tidak mengetahui bahwa buffer telah penuh, sehingga perlu ditambahkan read_size yang digunakan untuk menentukan jumlah byte yang akan ditulis 12.10. Rutin-Rutin pada C++ C++ mengizinkan anda untuk menggunakan library I/O pada C didalam program C++. Hal ini terjadi banyak kali terjadi karena seseorang membutuhkan suatu program C, menterjemahkannya kepada C++, dan tidak ingin mengganggu pemanggilan I/O. Dalam beberapa hal, library bahasa C yang lama bisa lebih baik dan lebih mudah digunakan dibandingkan dengan yang baru dalam hal ini C++. Sebagai contoh, rutin-rutin string pada C seperti sscanf dan sprintf menggunakan suatu jauh lebih kompak dalam sistim pengaturannya dibanding C++. Deklarasi-deklarasi pada struktur dan fungsi yang digunakan oleh fungsi C I/O disimpan di dalam standar file include <cstdio>. FILE*file_variable;/*Comment*/ sebagai contoh: #include<cstdio> FILE*in_file;/* File berisi data masukandata*/
Sebelum suatu file dapat digunakan, yang harus dibuka dengan fungsi adalah fopen. fopen kembali pada sebuah pointer ke file struktur. Format untuk fopen adalah: file_variable=fopen(name,mode); dimana file_variablenya adalah: name adalah sebuah nama yang digunakan oleh sebuah file seperti ("data.txt", "temp.dat", dan lain-lain). Mode merupakan sebagai indikasi apakah file akan dibaca atau ditulis. Mode adalah dengan tanda “w” adalah untuk menulis atau “r” untuk membaca. Fungsi fclose untuk menutup file, dimana format fclose adalah: status=fclose(file_variable); variabel status akan menjadi no jika fclose telah sukses atau bukan nol (nonzero) jika mengalami kesalahan. C menyediakan tiga three langkah sebelum membuka sebuah file. Hal ini dapat dilihat pada daftar dibawah ini:
Table 12.8. File Standard
FILE DESCRIPTION stdinStandarmasukan(membukauntukdibaca). PadabahasaC++ekivalendengancin. stdoutStandardkeluaran(membukauntukditulis). PadabahasaC++ekivalendengancout. stderrStandardsalah(membukauntukditulis). PadabahasaC++ekivalalendengancerr. (dalam bahasa C tidak ada sedangkan dalam bahasa C++ ekivalendenganclog. Fungsi fgetc akan membaca sebuah karakter dari suatu file. Jika tidak ada lebih banyak data di dalam file, fungsi kembali secara konstan ke EOF (EOF dideskkripsikan pada cstdio). Yang perlu dicatat bahwa fgetc kembalikan satu bilangan bulat, bukan suatu karakter. Ini diperlukan karena EOF flag harus mempunyai nilai bukan karakter.
Program 12.5.
#include<cstdio> #include<cstdlib>/*FilestandarANSIC*/ #include<iostream> usingnamespacestd; constcharFILE_NAME[]="input.txt";//namafilemasukan intmain() { intcount=0;//jumlahkarakter FILE*in_file;//masukanfile intch;//karakteratauEOFflagdarimasukan in_file=fopen(FILE_NAME,"rb"); if(in_file==NULL){ cerr<<"tidakbisamembukaFile"<<FILE_NAME<<'\n'; exit(8); } while(true){
Next read halaman 14.