Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

Stringstream ในการเขียนโปรแกรม C++


แบบร่างตัวอย่างนี้จะคำนวณจำนวนคำทั้งหมดในสตริงที่กำหนด รวมทั้งนับจำนวนการเกิดขึ้นทั้งหมดของคำเฉพาะโดยใช้สตริงสตรีมในโค้ดโปรแกรม C++ คลาส stringstream ร่วมมือกับอ็อบเจ็กต์สตริงกับสตรีม ซึ่งทำให้คุณสามารถอ่านจากสตริงได้เหมือนกับว่าเป็นสตรีม รหัสนี้จะบรรลุผลสำเร็จสองอย่าง ขั้นแรก จะนับจำนวนคำทั้งหมด จากนั้นคำนวณความถี่ของแต่ละคำในสตริงโดยใช้วิธีการที่สำคัญของ mapiterator ดังนี้

ตัวอย่าง

#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;
}

ผลลัพธ์

เมื่อสตริง “Ajay Tutorial Plus, ผู้เขียน Ajay ” ให้กับโปรแกรมนี้ จำนวนรวมและความถี่ของคำในผลลัพธ์ดังนี้

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