首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

VC++2005 中怎么验证一个字串是否包含在另一个字串中

2012-06-20 
VC++2005 中如何验证一个字串是否包含在另一个字串中?各位老师,最近写个小程序遇到一难题,就是如何验证一

VC++2005 中如何验证一个字串是否包含在另一个字串中?
各位老师,最近写个小程序遇到一难题,就是如何验证一个字串是否包含在另一个字串中,为难的是,这个字串未必就是英文,可能是中文,而且编码还是UTF8。举例来说吧:

1.判断 "abcdefg" 中是否包含 "ab" 。

2.判断 "abceefg" 中是否包含 "中文",当出现一个字串是中文的时候,字串来源是UTF-8编码。

3.判断 "中文输入测试" 是否包含 "ab", 字串来源是UTF-8编码。

4.判断 "中文输入测试" 中是否包含 "中文",当出现两个字串都是中文的时候,字串来源都是UTF-8编码的。

头都大了,到底如何是好,请各位不吝赐教!

到九点前我会不定时上线,谢谢!

[解决办法]
strstr
wcsstr
[解决办法]
采用unicode字符串,CString,然后Find这样就能查找中英文等
[解决办法]
CString里面的Find函数
正则表达式也可以
[解决办法]
Brew 吧??

大写的STRSTR、

或者我给你个函数。。


如果需要转码就用这个 UTF8TOWSTR 参数自己查找

bool strends(char szBuffer[],const char szEndData[])
{
//定义
int nEnd=0;
int nSize=0;
int nFindCount=0;
 
//计算大小
nEnd=(int)strlen(szEndData);
nSize=(int)strlen(szBuffer);

//循环便利
for(int i=nEnd-1,j=nSize-1;i>=0;--i,--j)
{
if(szBuffer[j]==szEndData[i])
nFindCount++;
}

//满足条件
if(nFindCount==nEnd)
return true;

//不满足条件
return false;
}

int strfind(char szBuffer[],const char nChar)
{
//定义
int nSize=0;

//计算大小
nSize=(int)strlen(szBuffer);

//循环便利
for(int i=0;i<nSize;++i)
{
if(szBuffer[i]==nChar)
return i;
}

//没有找到
return -1;
}
[解决办法]
第二个函数 是获取 字符在字符串中的位置的。

热点排行