CodeBlanks Logo Icon CodeBlanks

stringstream

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

main.cpp
#include <iostream>
#include <sstream>
#include <string>

int main() {
    // Akışa yaz, geri oku ve topla

    return 0;
}

Örnek çözüm

main.cpp
#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?

main.cpp
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

Soru
std::____ ss;
Cevap
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

Orta seviye bölümündeki tüm dersler