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

Stringstream trong lập trình C ++

Bản nháp mẫu này tính tổng số từ trong một chuỗi nhất định cũng như đếm tổng số lần xuất hiện của một từ cụ thể bằng cách sử dụng dòng chuỗi trong mã lập trình C ++. Lớp stringstream hợp tác một đối tượng chuỗi với một luồng cho phép bạn duyệt từ chuỗi như thể nó là một luồng. Mã này sẽ đạt được hai thành tích, đầu tiên, nó sẽ đếm tổng số từ, sau đó tính toán tần số của các từ riêng lẻ sau đó trong một chuỗi bằng cách sử dụng các phương pháp cơ bản của bộ ma mã như sau;

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int totalWords(string str){
   stringstream s(str);
   string word;
   int count = 0;
   while (s >> word)
      count++;
   return count;
}
void countFrequency(string st){
   map<string, int> FW;
   stringstream ss(st);
   string Word;
   while (ss >> Word)
      FW[Word]++;
   map<string, int>::iterator m;
   for (m = FW.begin(); m != FW.end(); m++)
      cout << m->first << " = " << m->second << "\n";
}
int main(){
   string s = "Ajay Tutorial Plus, Ajay author";
   cout << "Total Number of Words=" << totalWords(s)<<endl;
   countFrequency(s);
   return 0;
}

Đầu ra

Khi chuỗi “ Ajay Tutorial Plus, tác giả Ajay ”Được cung cấp cho chương trình này, tổng số lượng và tần số của các từ trong đầu ra như sau;

Enter a Total Number of Words=5
Ajay=2
Tutorial=1
Plus,=1
Author=1