在C++中,可以使用內置的函數strrchr來在一個字符串中查找最后一個指定字符的位置。實現原理如下:
下面是一個簡單的C++代碼示例來實現strrchr函數的功能:
#include <iostream>
const char* my_strrchr(const char* str, char c) {
const char* ptr = nullptr;
while (*str) {
if (*str == c) {
ptr = str;
}
str++;
}
return ptr;
}
int main() {
const char* str = "Hello, World!";
char c = 'l';
const char* result = my_strrchr(str, c);
if (result) {
std::cout << "Found character '" << c << "' at position: " << result - str << std::endl;
} else {
std::cout << "Character '" << c << "' not found in the string." << std::endl;
}
return 0;
}
在這個示例中,my_strrchr函數模擬了strrchr函數的功能,用來查找字符串中最后一個指定字符的位置。通過遍歷字符串,找到目標字符后返回其指針,如果未找到則返回空指針。