Pembacaan String

12.5. Pembacaan String

Untuk membaca gaya bahasa Fungsi untuk file keluaran adalah string pada C, dapat menggunakan sama dengan file masukan, sebagai fungsi getline. Fungsi ini dapat contoh pada deklarasi dibawah ini: didefinisikan sebagai berikut:

ofstream out_file("out.dat"); istream& getline(char *buffer, int len,

char delim = '\n') deklarasi diatas merupakan membuat/menulis file dengan nama

dimana parameter-parameter pada out.dat dan dalam penulisan nama fungsi ini antara lain:

juga diperbolehkan mnulis dengan

1. Buffer, gaya bahasa string, nama seperti out_file. Pada

dimana string disimpan setelah kenyataanya, construktor dapat dilakukan pembacaan

mengambil dua argumen tambahan.

2. Len, panjang buffer yang Definisi penuh dari file keluaran

digunakan dalam byte. Fungsi ini

construktor adalah:

akan membaca sampai len-1 byte data menuju buffer. ofstream::ofstream(const char *name, Parameter ini biasanya disebut int mode= ios::out, dengan sizeof(buffer)

int prot = filebuf::openprot);

3. Delim, yaitu karakter yang digunakan.

dimana parameter-parameter pada Fungsi ini akan mengembalikan fungsi ini adalah: referensi menjadi file masukan.  Name, nama dari nama file yang

Kemudian fungsi ini akan membaca

ditulis

terus-menerus sampai ditemukan  Mode, merupakan sekumpulan tanda karakter akhir baris (‘\n’). karakter tanda akhir baris ini tidak

flag/tanda O merah bersama- disimpan dalam buffer, yang

sama bahwa hal tersebut disimpan sebagai akhir string adalah

merupakan mode open. Flag jika ditemukan tanda bahwa string

ios::out dibutuhkan sebagai file telah berakhir (‘\0’). Perhatikan

keluaran. Flag-flag lain yang contoh dibawah ini:

dibutuhkan seperti dalam tabel

char buffer[30]; cin.getline(buffer, sizeof(buffer));

dibawah ini:

2008 | Direktorat Pembinaan SMK

Bahasa pemrograman Operasi File

Tabel 12.2.Open Flag

FLAG ARTI

ios::app menambahkan data ke akhir output file. ios::ate Pergi ke akhir file ketika dibuka. ios::in Membuka untuk masukan (harus diberikan kepada fungsi buka ifstream variabel). ios::out Buka file untuk output (harus diberikan kepada fungsi anggota buka ofstream variabel). ios::binary File binary (jika tidak ada, maka file dibuka sebagai file ASCII). ios::trunc Membuang isi yang ada saat membuka file untuk menulis. ios::nocreate Mengalami gagal jika file tersebut tidak ada. (Output file saja. Membuka sebuah file input selalu gagal jika tidak ada file.). ios::noreplace Jangan menimpa file yang ada. Jika file ada, menyebabkan rusak ketika buka.

 Prot, file protection dimana hal ini merupakan nama file yang akan tergantung pada sistem operasi ditulis. yang digunakan untuk Pada contoh dibawah terdiri dari

fungsi pendek tersebut digunakan menentukan mode proteksi file untuk menulis pesan pada sebuah

tersebut. Misalnya pada UNIX file catatan. Sesuatu yang pertama proteksi default sampai 0644 yang dilakukan adalah membuka untuk baca/tulis sendiri, baca pada

fungsi untuk operasi output (ios::out),

group maupun penulisan lainnya, menambahkan catatan (ios::app), sedangkan MS-DOS/windows dengan menulis dari permulaan defaultnya adalah 0 dalam kondisi

sampai akhir penulisan (ios::ate). Setelah fungsi tersebut menulis

file normal. pesan serta terahir menutup file.

Perhatikan contoh pernyataan Fungsi ini telah dirancang dibawah ini:

dengan sederhana, dimana hal tersebut juga tidak memperdulikan

ofstream out_file( "data.new" , mengenai efisiensi dan sebagai hasil ios::out| ios::binary| ios::nocreate|

dari fungsi adalah sangat tidak ios::app);

efisien. Masalah tersebut dibuka dan ditutup setiap saat memanggil

potongan pogram diatas dapat log_message. Membuka file diartikan digunakan menambahkan merupakan sebuah operasi yang (ios::app) data biner menggunakan cukup mahal, dan sesuatu juga harus (ios::binary), kalau file sudah ada mempunyai kecepatan lebih tinggi, atau telah ditemukan filenya jika akan membuka file hanya sekali (ios::nocreate) sedangkan data.new dan mengingatkan tersebut.

Direktorat Pembinaan SMK | 2008

Operasi File Bahasa Pemrograman

Program 12.2. #include <iostream> #include <fstream>

using namespace std;

void log_message(const string & msg) {

ofstream out_file( "data.log" , if (out_file.bad( )) out_file << msg << endl; return; }