#include<iostream>
using namespace std;
bool PathernMatch(char *pat, char *str)
{
char *s = NULL;
char *p = NULL;
bool star = false;
bool bBreak = false;
do
{
bBreak = false;
for (s = str, p = pat; *s; ++s, ++p)
{
switch (*p)
{
case '?':
break;
case '*':
star = true; //出现*匹配符
str = s;
pat = p;
if (!*++pat)
return true;
bBreak = true; //退出循环
break;
default:
if (*s != *p)
{
if (!star)
return false;
str++;
bBreak = true;
}
break;
}
if (bBreak) //退出循环 重新开始循环
break;
}
if (bBreak == false)
{
if (*p == '*')
++p;
return (!*p);
}
} while (true);
}
int main()
{
char a[100] = "\\Device\\*\\Content.IE5\\index.dat";
char c[100] = "\\Device\\*\\Content.IE5\\*\\index.dat";
char b[100] = "\\Device\\Harddiskvolume\\Content.IE5\\Femporary Internet Files\\Content.IE5\\index.dat";
char d[100] = "\\*\\Content.IE5\\index.dat";
char e[100] = "\*层图层\*顶";
char f[100] = "一层图层";
char g[100] = "二层图层";
char h[100] = "二三层图层";
char i[100] = "二搜索三层图层顶顶顶";

cout << PathernMatch(e, f) << endl;
cout << PathernMatch(e, g) << endl;
cout << PathernMatch(e, h) << endl;
cout << PathernMatch(e, i) << endl;
return 0;
}

最新文章

  1. jquery autocomplete
  2. JavaScript-location:封装当前窗口正在打开的url的对象
  3. background-orgin属性
  4. paper 84:机器学习算法--随机森林
  5. .Net开源数据库设计工具Mr.E For Linq (EF 6.1) 教程(三)更新已发布的数据库
  6. 博客搬家到CSDN:http://blog.csdn.net/yeweiouyang
  7. PL/SQL中文显示都显示成“?”的问题
  8. ubuntu下编译时遇到的错误及解决方式
  9. php 接收curl json 数据
  10. leaflet+esri-leaflet+heatmap实现热力图
  11. css 中 position属性
  12. python语法_变量及命名规则
  13. Python SMTP发送邮件
  14. hdu-1754 I Hate It【线段树】(求区间最大值)
  15. linux每日命令(28):chgrp命令
  16. python day08作业答案
  17. ABAP IMPORT&amp;EXPORT的用法
  18. LeetCode题解之 Continuous Subarray Sum
  19. Nginx+php (十六)
  20. C++的四种显示类型转换

热门文章

  1. HBase的安装与配置
  2. window API GetProcessId OpenProcess
  3. NVIDIA驱动安装、CUDA安装、cudnn安装
  4. IO流18 --- RandomAccessFile实现数据的读写操作 --- 技术搬运工(尚硅谷)
  5. Python爬虫笔记【一】模拟用户访问之Tesseract-ocr验证码训练(5)
  6. 数字统计类题目的非数位DP解法
  7. 一个网页登陆界面写30多个测试Case——测试之道
  8. TZ_10_spring-sucrity 服务器和页面的权限控制
  9. Functional Programming Contest - September&#39;14
  10. 深入浅析python中的多进程、多线程、协程