检查连续对的字符串C++

Check String For Consecutive Pairs C++

本文关键字:字符串 C++ 连续 检查      更新时间:2023-10-16

我正在寻找一个C++控制台应用程序,它从.txt文件中接收文本行,我已经完成了,现在我需要做的是检查每一行是否有连续的字母对

"例如,"牙"字有一对双字母,"委员会"字有两对连续的双字母。

我应该将每行转换为 Cstring 并循环遍历每个字符吗?我真的不知道从哪里开始。

我不是在寻找写出整个解决方案的人,我只需要知道如何开始这个。

你可以从开始到倒数第二个char遍历字符串,一次比较 2 个char。在 C++17 中,您有std::string_view很方便。

#include <string_view>
size_t pair_count(std::string_view s) {
size_t rv = 0; // the result 
for(size_t idx = 0; idx < s.size() - 1; ++idx) {
// compare s[idx] and s[idx+1]
// if they are equal, increase rv by one
// and increase idx by one (if you want "aaa" to count as 1 and not 2)
}
return rv;
}