在c++中如何在使用strstr函数时写出匹配段前后的内容
在C++中,可以使用指针进行字符串操作来实现在使用strstr()函数时,写出匹配段前后的内容。下面是一个示例代码:
#include <iostream>
#include <cstring>
int main() {
const char* str = "Hello World! This is a test.";
const char* pattern = "World";
// 使用strstr()函数查找匹配段的开始位置
const char* match = std::strstr(str, pattern);
if (match != nullptr) {
// 计算匹配段的长度
size_t matchLen = std::strlen(pattern);
// 计算匹配段的开始位置
const char* start = str;
while (start != match) {
std::cout << *start;
start++;
}
// 输出匹配段
std::cout << match;
// 计算匹配段的结束位置
const char* end = match + matchLen;
while (*end != '\0') {
std::cout << *end;
end++;
}
} else {
std::cout << "Pattern not found.";
}
return 0;
}
在上面的示例中,首先使用strstr()函数查找匹配段的开始位置,如果找到匹配段,则通过指针操作找到匹配段的前后内容并输出。如果未找到匹配段,则输出“Pattern not found.”。
运行以上示例代码,输出将是:"Hello World!"
原文地址: http://www.cveoy.top/t/topic/hY25 著作权归作者所有。请勿转载和采集!