vc++6.0怎么判断一个字符串中有没有一个指定字符

如题所述

可以使用库函数strchr来判断字符串中是否有指定字符。

1 函数名:

strchr

2 声明:

char *strchr(const char* _Str,int _Val);

3 头文件:

string.h

4 功能:

查找字符串s中首次出现字符c的位置

说明:返回首次出现c的位置的指针,返回的地址是被查找字符串指针开始的第一个与Val相同字符的指针,如果s中不存在c则返回NULL。


所以,要判断字符串"123456"中是否出现'3'的代码可以写作:

if(strchr("123456", '3') != NULL) printf("存在\n");
else printf("不存在\n");
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-07-23
如果是字符数组,你可以:
循环判断每个字符,或者使用strstr 函数: 
包含文件:string.h
函数原型:extern char *strstr(char *str1, char *str2);
功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。
返回值:返回该位置的指针,如找不到,返回空指针。

如果是CString类,你可以使用CString::GetAt()
原型:TCHAR GetAt( int nIndex ) const;
返回值:返回一个包含字符串中的指定位置的字符串的TCHAR。
参数: nIndex CString对象中的某个字符的从零开始的索引。nIndex参数必须大于或等于0,并小于GetLength函数的返回值。Microsoft基础类库的测试版验证nIndex的边界;但是发行版不验证。
说明:你可以把一个CString对象看作是一个字符数组。GetAt成员函数返回一个由一个索引号指定的单个字符。重载的下标([])是GetAt常用的代用符。本回答被提问者采纳
第2个回答  2015-10-15
#include <iostream>
using namespace std;

bool fun(char *s, char ch)
{
char *str = s;
while(*str)
{
if(*str == ch)
return true;
else
str++;
}
return false;
}

int main()
{
char *s = "asd";
char ch = 'a';
cout<<fun(s, ch)<<endl;
system("pause");
return 0;
}
第3个回答  2011-11-27
bool fun(char *s,char c) {
char *p = s;
while(*p++) {
if(*p == c) return true;
}
return false;
}
第4个回答  2011-11-27
Indexof()

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网