模式字符串查找(支持通配符‘*’)用c
时间: 2024-11-09 17:27:41 浏览: 5
SQLserver中字符串查找功能patindex和charindex的区别
模式字符串查找(通常用于文件名搜索或者正则表达式中)是指在字符串中寻找指定的模式,其中一种常见的情况就是支持通配符`*`。通配符`*`在计算机编程中代表零个或多个字符。例如,在C语言中,如果你想在一个目录下查找所有以".txt"结尾的文件,你可以使用`*.txt`作为模式。
下面是一个简单的C语言示例,使用`fnmatch()`函数来实现基本的模式匹配:
```c
#include <stdio.h>
#include <fnmatch.h>
int main() {
char pattern[] = "*.txt";
struct dirent *entry;
DIR *dir = opendir(".");
if (dir != NULL) {
while ((entry = readdir(dir)) != NULL) {
if (fnmatch(pattern, entry->d_name, FNM_PATHNAME | FNM_NOESCAPE)) {
printf("Found match: %s\n", entry->d_name);
}
}
closedir(dir);
} else {
perror("Error opening directory");
}
return 0;
}
```
在这个例子中,`fnmatch()`函数比较目录条目(`entry->d_name`)和给定的模式(pattern),如果匹配就打印出来。
阅读全文