12 Nisan 2017 Çarşamba
cpp iomanip kütüphanesi c++ #include
<iomanip> Kütüphanesi
Merhaba,
<iomanip> kütüphanesi C++ da akışların yani Giriş/Çıkış (İnput/Output) birimlerinin belirli formatlarda yazdırma fonksiyonlarını içeren bir kütüphanedir.
<iomanip> kütüphanesinde birçok fonksiyon vardır. Bunlar:
setw()-width()
setfill()
setprecision()
setbase() - resetiosflags()
setf() - unsutf()
setiosflags()
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
setw() Fonksiyonu
Girilen herhangi bir değişken için ayrılacak olan karakter genişliğini belirlemeye yarayan bir <iomanip> kütüphanesi fonksiyonudur. Diğer bir kullanım şekli ise “width()” şeklindedir.
Örnek:
Kod:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int sayi= 234;
cout<<setw(9)<<sayi<<endl;
cout<<setw(6)<<sayi <<endl;
cout<<setw(3)<<sayi <<endl;
return 0;
}
Çıktı:
- - - - - 234
- - - 234
234
setfill() Fonksiyonu
<iomanip> kütüphanesine ait formatlı yazdırma komutudur.Bu komutla bıraktığımız boşlukları verilen herhangi bir karakterle doldurmamızı sağlayan fonksiyondur.
Kod:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int sayi= 234;
cout<<setfill('*')<<setw(9)<<sayi<<endl;
cout<<setfill('*')<<setw(6)<<sayi <<endl;
cout<<setfill('*')<<setw(4)<<sayi <<endl;
return 0;
}
Çıktı:
* * * * * * 234
* * * 234
* 234
Setprecision() Fonksiyonu
Girilen ondalıklı sayıları formatlı bir şekilde ve noktadan sonraki duyarlılığı belirlemek için kullanılan bir <iomanip> fonksiyondur.
Kod:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double sayi= 22.70964345;
cout<<setprecision(5)<<sayi<<endl;
cout<<setprecision(7)<<sayi <<endl;
cout<<setprecision(8)<<sayi <<endl;
return 0;
}
Çıktısı:
22.70964
22. 7096434
22. 70964345
setbase() Fonksiyonu
setbase() fonsiyonu istediğimiz basamağı fonksiyona yazarak kullanılan bir <iomanip> komutudur.Ancak içine 8-10 ve 16 lık basamak değerlerini alır.
Kod:
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
cout << setbase (16);
cout << 100 << endl;
return 0;
}
Çıktı:
64
setf() Fonksiyonu
Formatlı yazdırma tekniğinde özelikle sağa dayalı,sola dayalı hangi basamakta yazılacağını ve noktadan sonra kaç hane gösterilmesi gerekiyor diye kavramları belirlemek için kullanılan çok önemli bir fonksiyondur.
//cout.setf ( ios::right, ios::adjustfield); şeklinde kullanılır. Ve kullanımda çeşitli parametreler alabilir.
//adjustfield (left, right), basefield (dec, hex, oct), floatfield (scientific, fixed)
Kod:
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
cout<<setw(15) //cout.width(8) diğer bir kullanım şekli
cout.setf ( ios::left);
cout.setf (ios::hex,ios::basefield); // hex(16)lık sistem seçildi
cout.setf ( ios::showbase ); // 0x aktif edildi
cout.fill(‘*');
cout << 200 << endl;
cout.setf ( ios::fixed, ios::noshowbase ); // 0x kaldırıldı
cout << 200 << endl;
return 0;
}
Çıktısı:
0X128 * * * * * * * * * * // cout << 200 << endl;
128 //cout << 200 << endl;
unsetf() Fonksiyonu
Unsetf()” komutu ise adındanda anlaşılacağı gibi “setf()” fonksiyonun tam tersi işleve sahip bir fonksiyondur. Aynı programda setf ile oluşturulan (basefield gibi) seçilen alanın format özelliklerini devre dışı bırakır ve bir önceki ya da doğal halinin görüntülenmesini sağlar.
Kullanımı // cout.unsetf ( ios_base::basefield ); şeklindedir. Bir önceki proğramda kullanılan basefield özelliğini kaldırmamızı sağlar.
Kod:
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
cout.setf(ios_base::hex,ios_base::basefield ); //hex(16) sayı basamağı seçildi
cout << 200 << endl;
cout.unsetf (ios_base::basefield ); // onaltılık sayı sistemi geri dönüştürüldü
cout << 200 << endl; ve tekrar standart olan 10 luk sayı
basamağına dönüştürüldü.
return 0;
}
Çıktı:
0X128
200
setiosflags() Fonksiyonu
“setiosflags()” fonksiyonu ile girilen değere showbase-uppercase gibi özeliği vermezi sağlayan bir <iomanip> kütüphanesi fonsiyonudur.
Kod:
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
cout << hex << setiosflags ( ios_base::uppercase | ios_base::showbase);
cout << 200 << endl; return 0;
}
Çıktı:
0X128 //cout << hex << setiosflags ( ios_base::uppercase | ios_base::showbase);
resetiosflags() Fonksiyonu
“Resetiosflags()” Fonksiyonu ise “setiosflags()” fonksiyonun tam tersi özelliğe sahip bir fonsiyondur. Aynı programda “setiosflags()”ile verilen formatın özelliklerini devre dışı bırakır ve bir önceki ya da doğal halinin görüntülenmesini sağlar. Yani reset atmış olur
Kod:
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
cout << hex << setiosflags (ios_base::showbase);
cout << 200 << endl;
cout << resetiosflags (ios_base::showbase) << 100 << endl;
return 0;
}
Çıktı:
128
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder