program diatas digunakan untuk menentukan karakter, dimana karakter digunakan sebagai penambah angka ketika angka terlalu kecil. Fungsi-fungsi tersebut dapat disebut dengan pengarah, atau programer dapat menggunakan I/O manipulator. Sebuah I/O manipulator adalah sebuah fungsi khusus yang digunakan dalam pernyataan I/O untuk mengubah format. Jika dipikirkan sebuah manipulator dapat dianalogikan seperti halnya peluru ajaib, dimana ketika ditembakan melalui/masuk atau setelah keluar dari sebuah file, akan mengubah kondisi sebuah file tersebut. Manipulator tidak menyebabkan beberapa keluaran tetapi hanya mengubah kondisinya saja. Sebagai contoh pada manipulator hex hanya melakukan konversi keluaran menjadi hexadesimal
#include<iostream> number=0x3FF; cout<<"Numberis"<<hex<<number <<dec<<'\n';
sebuah file header <iostream> mendefinisikan kumpulan dasar dari sebuah menipulator yang dapat dilihat pada tabel dibawah ini:
Tabel 12.4. I/O manipulator
MANIPULATOR ::DESKRIPSI decKeluaranangkadalamformatdesimal. hexKeluaranangkadalamformathexadesimal. octKeluaranangkadalamformatoktal. wsLoncatispacepadamasukan. endlKeluaranpadaend‐of‐line endsKeluaranpadaend‐of‐string(`\0'). flushLakukanpembufferankeluaranout.
Selain tebal diatas ada juga manipulator yang didefinisikan ole file header <iomanip> dapat dilihat pada tabel dibawah ini:
Tabel 12.5. Fungsi I/O manipulator pada C
MANIPULATOR ::DESKRIPSI setiosflags(longflags)Aturpemilihflagkonversi. resetiosflags(longflags)Resetflagterpilih. setbase(intbase)Aturkonersidasarmenuju8,10,atau16.Urutkan secaraumumdec,hex,oct. setw(intwidth)Aturlebarkeluaran. setprecision(intprecision)Aturpresisidarikeluaranfloating‐point. setfill(charch)Aturkarakteryangdiblok/ditandai.
Untuk lebih jelasnya perhatikan penggunaan I/O manipulator pada program dibawah ini.
program 12.3
#include<conio.h> #include<iostream> #include<iomanip> usingnamespacestd; intmain() { intnumber=12;//angkauntukkeluarkan floatreal=12.34;//angkayangnyata cout<<"123456789012345678901234567890\n";//rulerkeluaran cout<<number<<"<‐\n"; cout<<setw(5)<<number<<"<‐\n"; cout<<setw(5)<<setfill('*')<<number<<"<‐\n"; cout<<setiosflags(ios::showpos|ios::left)<<setw(5)<<number<<"<‐\n"; cout<<real<<"<‐\n"; cout<<setprecision(1)<<setiosflags(ios::fixed)<<real<<"<‐\n"; cout<<setiosflags(ios::scientific)<<real<<"<‐\n"; getch(); return(0); }
Keluaran dari program diatas setelah di compile adalah: 123456789012345678901234567890 12<‐ 12<‐ ***12<‐ +12**<‐ 12.34<‐ 12.3<‐ 1e+01<‐
Next read halaman 8.