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]