Merhabalar arkadaşlar!
Bugün sizlere getline() fonksiyonundan bahsetmek istiyorum.
Bu fonksiyonu size şöyle anlatabilirim, sadece "cin" kullanmak yerine getline() fonksiyonu kullanırsak kullanıcıdan girdiği tüm satırı alabiliriz.
Bildiğiniz gibi sadece "cin" kullanmak, kullanıcı "Space" tuşuna basıncaya kadar iyidir. Kullanıcı "Space" tuşuna bastığı zaman daha fazla veri alamayız. Örneğin, kullanıcıya isim ve soyisim soran bir program düşünün.
Bu programda;
Şimdi bir de getline() fonksiyonumuzu kullanarak deneyelim.
Şimdi getline() kullanan bir program yaptık, kendisinin nasıl çalıştığını muhtemelen anladık. Anlamadıysanız açıklayayım.
getline() fonksiyonumuz şöyle çalışır;
İlk parametremiz "istream" türünde bir değişkendir. "cin" zaten "istream" türünde olduğu için kabul edilecektir.
İkinci parametremiz ise, "string" türündedir. Kendisi, ilk parametrede belirttiğimiz "istream" türü değişkende girilen (kullanıcının girdiği) veriyi, kendine yazmak ile yükümlü.
getline() hakkında daha fazla bilgi için şuraya tıklayabilirsiniz.
Evet, bu blogun da sonuna geldik. Umarım anlamışsınızdır. Bu kısmı Bjarne Stroustrup'un "The C++ Programming Language, 4th Edition" kısmından aldım. Umarım anlatış stilim de iyi olmuştur.
Ayrıca bu blog sayfasını da yeni açtım, eğer siz de programlama bilginizi paylaşmak istiyorsanız, bu "blog havuzu" altında paylaşabilirsiniz. Buraya ulaşım sanırım tek tek konu ayıklamaktan daha kolay olabilir.
Teşekkürler!
Bugün sizlere getline() fonksiyonundan bahsetmek istiyorum.
Bu fonksiyonu size şöyle anlatabilirim, sadece "cin" kullanmak yerine getline() fonksiyonu kullanırsak kullanıcıdan girdiği tüm satırı alabiliriz.
Bildiğiniz gibi sadece "cin" kullanmak, kullanıcı "Space" tuşuna basıncaya kadar iyidir. Kullanıcı "Space" tuşuna bastığı zaman daha fazla veri alamayız. Örneğin, kullanıcıya isim ve soyisim soran bir program düşünün.
C++:
#include <iostream>
using namespace std;
int main(){
string isim,soyisim;
cout<<"Lutfen isminizi ve ardindan soyisminizi giriniz."<<endl;
cin>>isim;
cin>>soyisim;
cout<<"Merhaba, sayın "<<isim<<" "<<soyisim<<", umarim gununuz guzel gecer."<<endl;
return 0;
}
Bu programda;
- Ayrı değişkenlere kaydettiğimiz için, bu isim ve soyisim için iki parametreli bir fonksiyon (veya constructor) yapmamız gerekecektir.
- Kodumuz, getline ile veri alan programa göre (çok az da olsa) uzun olsa da, yine de uzun oldu.
Şimdi bir de getline() fonksiyonumuzu kullanarak deneyelim.
C++:
#include <iostream>
#include <string>
using namespace std;
int main(){
string kullaniciBilgi;
cout<<"Lutfen isim ve soyisminizi giriniz : ";
getline(cin,kullaniciBilgi);
cout<<"Hosgeldiniz, sayin"<<kullaniciBilgi<<", umarim gununuz guzel geciyordur."<<endl;
return 0;
}
Şimdi getline() kullanan bir program yaptık, kendisinin nasıl çalıştığını muhtemelen anladık. Anlamadıysanız açıklayayım.
getline() fonksiyonumuz şöyle çalışır;
getline (istream& is, string& str);İlk parametremiz "istream" türünde bir değişkendir. "cin" zaten "istream" türünde olduğu için kabul edilecektir.
İkinci parametremiz ise, "string" türündedir. Kendisi, ilk parametrede belirttiğimiz "istream" türü değişkende girilen (kullanıcının girdiği) veriyi, kendine yazmak ile yükümlü.
getline() hakkında daha fazla bilgi için şuraya tıklayabilirsiniz.
Evet, bu blogun da sonuna geldik. Umarım anlamışsınızdır. Bu kısmı Bjarne Stroustrup'un "The C++ Programming Language, 4th Edition" kısmından aldım. Umarım anlatış stilim de iyi olmuştur.
Ayrıca bu blog sayfasını da yeni açtım, eğer siz de programlama bilginizi paylaşmak istiyorsanız, bu "blog havuzu" altında paylaşabilirsiniz. Buraya ulaşım sanırım tek tek konu ayıklamaktan daha kolay olabilir.
Teşekkürler!