theme: channing-cyan highlight: a11y-dark
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
作者:鲸落
主页:https://juejin.cn/user/3359763903030983
stringstream 将字符串对象与流相关联,允许您从字符串中读取,就好像它是一个流(如 cin)。
基本方法是——
clear() — 清除流 str() — 获取和设置其内容存在于流中的字符串对象。 运算符 << — 将字符串添加到 stringstream 对象。 运算符 >> — 从 stringstream 对象中读取内容,
stringstream 类在解析输入时非常有用。
应用:
计算字符串中的单词数
例子:
输入:juejin juejin juejin
输出:3
输入 : juejin Ide
输出:2
#include <bits/stdc++.h>
using namespace std;
int countWords(string str)
{
stringstream s(str);
string word;
int count = 0;
while (s >> word)
count++;
return count;
}
int main()
{
string s = "juejin juejin juejin juejin "
"contribution placements";
cout << " 数量为:" << countWords(s);
return 0;
}
输出:
数量为:6
打印字符串中单个单词的频率
输入 : juejin For juejin Quiz juejin Quiz demo demo
输出:对于 -> 1
juejin -> 3
Quiz -> 2
demo -> 2
输入:Word String demo String
输出:demo -> 1
String -> 2
Word -> 1
#include <bits/stdc++.h>
using namespace std;
void printFrequency(string st)
{
// each word it mapped to it's frequency
map<string, int> FW;
stringstream ss(st); // Used for breaking words
string Word; // To store individual words
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 = "juejin For juejin Ide";
printFrequency(s);
return 0;
}
输出:
For -> 1
juejin -> 2
Ide -> 1
C++ 中的原始字符串文字及C++ 中的字符串数组(1-2)
有什么问题可以在评论区告诉我,我会第一时间回复大家,感谢您的阅览。