📅  最后修改于: 2023-12-03 15:36:51.310000             🧑  作者: Mango
在C++中,我们可以使用标准库函数 std::string
自带的函数 find()
和 rfind()
来查找字符串中某个字符出现的位置,以此来列出字符串中出现的所有字符。
以下是一个示例代码:
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
std::string chars = "";
for (int i = 0; i < str.length(); i++) {
if (chars.find(str[i]) == std::string::npos) {
// 如果字符没有在字符串中出现过
std::cout << str[i] << std::endl;
chars += str[i]; // 将该字符加入“已出现字符”的记录中
}
}
return 0;
}
输出结果为:
H
e
l
o
,
w
r
d
!
这个程序的思路比较简单,就是遍历字符串中的每个字符,判断是否在已出现字符的记录中出现过,如果没有就输出并加入记录中。
值得注意的是,在字符串中查找某个字符时,它的返回值可能是 std::string::npos
,表示没有找到该字符。因此在上面的代码中,我们使用了 std::string::npos
来作为一个特殊的值,以此来判断是否找到了该字符。
希望这个示例代码对您有所帮助!