码迷,mamicode.com
首页 > 编程语言 > 详细

C++中判断String是否包含某些特定字符

时间:2015-03-31 19:38:51      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

  当系统自动读入某一类型的图片时,通常将文件的地址保存在一个String类型的字符串中,此时需要判断该文件的类型是否为所要求的类型(例如是否为一张图片等),常用的方法是判断该文件地址中是否包含特定类型的扩展名(如.jpg),则问题转化为如何判断String字符串中是否包含某些特定字符。
  方法之一就是利用标准库函数strstr()。strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。但strstr()函数接受的参数为const char*,String的成员函数c_str得到的是char*成员,但char*如何无法直接转换为const char*,需要用strcpy_s()另开辟一段内存,把字符一个一个复制过去,然后进行strstr()函数的调用,代码如下

其中stImagePath是一个String类型的变量

char* chImagePath = new char[strlen(stImagePath.c_str()) + 1];
strcpy_s(chImagePath,strlen(stImagePath.c_str()) + 1,stImagePath.c_str());

char* pJpg = strstr(chImagePath,".jpg");//判断名字中是否出现相应字符
char* pBmp = strstr(chImagePath,".bmp");
char* pPng = strstr(chImagePath,".tif");
char* pJPG = strstr(chImagePath,".JPG");
    if(pJpg==NULL && pBmp==NULL && pPng==NULL && pJPG==NULL)
    {
    break;
    }

  

C++中判断String是否包含某些特定字符

标签:

原文地址:http://www.cnblogs.com/junling/p/4381061.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!