Computer >> Máy Tính >  >> Lập trình >> C ++

Stringstream trong C ++

Ở đây chúng ta sẽ thấy luồng chuỗi trong C ++. Luồng chuỗi liên kết một đối tượng chuỗi với một chuỗi. Sử dụng điều này, chúng ta có thể đọc từ chuỗi như thể nó là một luồng giống như cin.

Dòng Stringstream có các phương thức khác nhau. Những thứ này giống như bên dưới -

clear (): Được sử dụng để xóa luồng

str (): Để lấy và đặt đối tượng chuỗi có nội dung trong luồng

toán tử <<: Thao tác này sẽ thêm một chuỗi vào chuỗi ký tự

toán tử>>: Điều này được sử dụng để đọc từ đối tượng stringstream.

Hãy để chúng tôi xem hai ví dụ về các luồng chuỗi. Trong chương trình đầu tiên, chúng ta sẽ chia các từ thành các chuỗi riêng biệt.

Ví dụ

#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
int main() {
   string str("Hello from the dark side");
   string tmp; // A string to store the word on each iteration.
   stringstream str_strm(str);
   vector<string> words; // Create vector to hold our words
   while (str_strm >> tmp) {
      // Provide proper checks here for tmp like if empty
      // Also strip down symbols like !, ., ?, etc.
      // Finally push it.
      words.push_back(tmp);
   }
   for(int i = 0; i<words.size(); i++)
      cout << words[i] << endl;
}

Đầu ra

Hello
from
the
dark
side

Ở đây, chúng tôi sẽ chuyển đổi Hệ thập phân sang Hệ thập lục phân bằng cách sử dụng luồng chuỗi.

Ví dụ

#include<iostream>
#include<sstream>
using namespace std;
main(){
   int decimal = 61;
   stringstream my_ss;
   my_ss << hex << decimal;
   string res = my_ss.str();
   cout << "The hexadecimal value of 61 is: " << res;
}

Đầu ra

The hexadecimal value of 61 is: 3d