Stringlerde Akışlar
[vc_row][vc_column][vc_column_text]
Standart C ++ kütüphanesi, >> ve << akış operatörlerini kullanarak ve bir dizeden(string) veri okumaya ve yazmaya izin veren bir std : : stringstream sınıfını tanımlar. Std : : stringstream sınıfı, <sstream> header dosyasında tanımlanmıştır. Std : : stringstream, std : : iostream sınıfından kalıtılır, bu nedenle bu sınıfın tüm özelliklerini devralır.
Aşağıdaki örnek, << operatörünü kullanarak bir std : : stringstream nesnesine istenilen verilerin nasıl yazılacağını göstermektedir. Kod pasajı bir kişinin adını, yaşını ve maaşını bir std : : stringstream nesnesine yazar.
#include <sstream> // stringstream için. #include <iostream> stringstream stream; stream << "Ahmet" << " " << 42 << " " << 15000 <<endl;
Aşağıdaki örnek, >> işleci kullanılarak bir std : : stringstream nesnesinden biçimlendirilmiş verilerin nasıl okunacağını gösterir. Kod pasajı, daha önce oluşturduğumuz std : : stringstream nesnesindeki kişinin adını, yaşını ve maaşını okur:
#include <iostream> #include <sstream> using namespace std; int main(){ stringstream stream; stream<<"ahmet"<<" "<<42<<" "<<1500<<endl; string x; int y; int z; stream>>x>>y>>z; cout<<x<<endl; cout<<y<<endl; cout<<z<<endl; return 0; }
String Akışının İçeriğini Ayarlama ve Alma
Bir std : : stringstream nesnesinin içeriğini str () yöntemini çağırarak ayarlayabilir veya alabilirsiniz. Bu yöntemin iki aşırı yüklü sürümü vardır:
void str(const string & s); // Bir string akışı içeriğini ayarlayın string str() const; // string akışı için içerik alın
Aşağıdaki kod parçası, bir dize akışının içeriğini nasıl ayarlayacağınızı ve alacağınızı gösterir:
#include <iostream> #include <sstream> #include <string> using namespace std; int main(){ // stringstream nesnesi oluştur stringstream stream; // nesnenin içeriğini ayarla stream.str("mehmet 22 3000"); // içeriği yazdır cout<<"Fonksiyon ile icerik okuma"<<endl; cout<<stream.str()<<endl; cout<<"*************************************"<<endl; //bir önceki yöntem ile içeriği okuma cout<<"icerigi tek tek okuma"<<endl; string x; int y,z; stream>>x>>y>>z; cout<<x<<endl; cout<<y<<endl; cout<<z<<endl; return 0; }
Ekran Çıktısı
C:\Users\mehmetcane\CLionProjects\mehmetproje\cmake-build-debug\mehmetproje.exe Fonksiyon ile icerik okuma mehmet 22 3000 ************************************* icerigi tek tek okuma mehmet 22 3000 Process finished with exit code 0
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][vc_btn title=”Önceki Ders” color=”green” align=”left” i_icon_fontawesome=”fa fa-chevron-left” add_icon=”true” link=”url:https%3A%2F%2Fyapbenzet.org.tr%2Fcpp-dosya-isleme%2F|||”][/vc_column][vc_column width=”1/2″][vc_btn title=”Sonraki Ders” color=”green” align=”right” i_align=”right” i_icon_fontawesome=”fa fa-chevron-right” add_icon=”true” link=”url:https%3A%2F%2Fyapbenzet.org.tr%2Fstlstandart-template-library%2F|||”][/vc_column][/vc_row]