stringstream
- C++ kursu
- Orta seviye
- Ders 96/116
- 5 dk
stringstream ile çift yönlü akış öğrenirsin.
stringstream iki yönlü
std::stringstream hem okuma hem yazma için kullanılır. istringstream ve ostringstream yeteneklerini birleştirir.
Örnek: std::stringstream ss; ss << "100 200"; int a, b; ss >> a >> b;. Burada önce << ile dizeyi akışa yazar, sonra >> ile sayıları geri çekeriz. Bu, bir dizeyi önce oluştur sonra ayrıştır işlemi için tek araçtır. #include <sstream> başlığı yeter. .str() ile yazılan içeriği, .str("...") ile okunacak içeriği ayarlayabilirsin.
Yaz sonra oku deseni
stringstream'in en yaygın kullanımı: önce << ile veri yaz, sonra >> ile geri oku. Bu, veriyi dizeleştirip ayrıştırmak için pratik bir yoldur.
Örnek: ss << isim << " " << yas; ile bir kayıt oluşturursun. Sonra ss >> isim2 >> yas2; ile geri okursun. Bu desen, nesneleri kaydetme ve yükleme işlemlerinde temel oluşturur. İçeriği sıfırlamak için ss.clear(); ss.str(""); yaparsın; clear() hata bayraklarını, str("") içeriği temizler.
Uygulama Akışa yaz ve geri oku
Bir std::stringstream oluştur. << ile "100 200" yaz. Sonra >> ile iki sayıyı çek, topla ve std::cout ile yazdır.
Başlangıç kodu
#include <iostream>
#include <sstream>
#include <string>
int main() {
// Akışa yaz, geri oku ve topla
return 0;
}Örnek çözüm
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::stringstream ss;
ss << "100 200";
int a, b;
ss >> a >> b;
std::cout << a + b;
return 0;
}Beklenen çıktı
300
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 stringstream ne yapabilir?
std::stringstream ss;- Yalnızca okur
- Yalnızca yazar
- Hem okur hem yazar Doğru cevap
- Yalnızca dosya açar
Açıklama: stringstream hem okur hem yazar.
2 stringstream tanımla
std::____ ss;
std::stringstream ss;
Açıklama: std::stringstream iki yönlü akıştır.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
stringstream |
İki yönlü akış |
<< |
Akışa yazma |
>> |
Akıştan okuma |
.clear() |
Bayrak temizleme |