📌  相关文章
📜  使用 stringstream 查找大于给定长度 k 的单词

📅  最后修改于: 2022-05-13 01:57:08.430000             🧑  作者: Mango

使用 stringstream 查找大于给定长度 k 的单词

给定一个包含空格分隔的单词和数字 K 的字符串。任务是使用 C++ 中的 stringstream 查找并打印所有长度大于 K 的单词。

上一篇文章中讨论了使用循环解决此问题的一般解决方案。在本文中,将讨论在 C++ 中使用字符串流的解决方案。

例子

Input : str = "hello geeks for geeks 
          is computer science portal" 
        K = 4
Output : hello geeks geeks computer 
         science portal

Input : str = "string is fun in python"
        K = 3
Output : string python

这个想法是使用 stringstream 通过将给定的字符串拆分为标记来创建一个流,然后处理该流并打印长度大于 K 的单词。

下面是上述思想的实现:

// C++ program to find all string 
// which are greater than given length k
// using stringstream
  
#include 
using namespace std;
  
// Function to find all string 
// which are greater than given length k
// using stringstream
void findWords(string str, int K)
{
    string word;
      
    // using stringstream to break
    // the string into tokens
    stringstream ss(str); 
      
    int count = 0;
    while (ss >> word) { // reading words
        if (word.size() > K) {
            cout << word << " ";
            count++;
        }
    }
}
  
// Driver code
int main()
{
    string str = "geeks for geeks";
      
    int k = 4;
  
    findWords(str, k);
      
    return 0;
}
输出:
geeks geeks