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()

vc++6.0怎么判断一个字符串中有没有一个指定字符
可以使用库函数strchr来判断字符串中是否有指定字符。1 函数名:strchr 2 声明:char *strchr(const char* _Str,int _Val);3 头文件:string.h 4 功能:查找字符串s中首次出现字符c的位置 说明:返回首次出现c的位置的指针,返回的地址是被查找字符串指针开始的第一个与Val相同字符的指针,如果s中...

vc6.0如何让字符串中的一个字符显示红色
StringOut2( s, strlen( s ), 't', FOREGROUND_RED | FOREGROUND_INTENSITY );printf("\\n");}

VC++6.0怎样在一行字符串中获取特定两个字符中间的字符串
在VC++中字符串分为ASCII字符串,也就是标准C中的(ASCII)字符串和宽字节字符串,也就是C++中引入的wchar_t类型。获取字符串也可以分为为这两种情况。对于ASCII字符串:标准C中:include <string.h> char *strchr( const char *str, int ch );功能:函数返回一个指向str 中ch 首次出现的位置,...

vc++ 6.0显示输入的汉字问题
char s[20]; \/*字符数组,跟英文的一样*\/ scanf("%s",s); \/*特别的是一个汉字保存成了两个连续的字符*\/ printf("\\'%s\\',欢迎您的光临!\\n",s);\/*这样就行了,中间的 \\' 就是引号,要转义符的 ,%s就是显示字符串变量的内容 *\/ ...

C语言中如何判断字符串中是否存在单引号?
单引号作为字符使用时必须用\\来引导,写成\\'才行,否则编译器会把它当作功能性引号处理而不认为是字符。举例代码如下:\/\/#include "stdafx.h"\/\/If the vc++6.0, with this line.#include "stdio.h"#include "string.h"int main(void){ char str[]="12345\\'abcde"; if(strchr(str,'...

vc++ 6.0中string怎么使用啊?为什么我一定义string就会出错啊
是include <string>吧,这个加了.h就变成C里面的那个头文件了,两个根本不是一个头文件啊

C语言查找一个字符在字符串1中第一次出现的字符位置
\/\/#include "stdafx.h"\/\/If the vc++6.0, with this line.include "stdio.h"include "string.h"int main(void){ char str1[]="ab678ef0ABCDEcdNijklmnOPQghopqrs345FGHIJKLtuvwxyz12M9RSTUVWXYZ";\/\/定义一个试验用字符串 char ch,*p;while(1){ printf("Input a character to find(# ...

VC6.0++快捷键?
导航相关的快捷键如Ctrl+Home和Ctrl+End可以快速跳转到文档的开头和结尾,而Ctrl+'Num+'和Ctrl+'Num-'则可以用于显示下一个或上一个符号的定义或引用。此外,还有一些快捷键如Ctrl+M和Ctrl+G等可以用于展开或隐藏代码块以及跳转到指定行。除了以上列举的常用快捷键外,VC++ 6.0还提供了许多其他快捷...

看看下面的VC++6.0代码
DT_WORDBREAK:断开字。当一行中的字符将会延伸到由lpRect指定的矩形的边框时,此行自动地在字之间断开。一个回车一换行也能使行折断。DT_WORD_ELLIPSIS:截短不符合矩形的正文,并增加椭圆。注意:DT_CALCRECT, DT_EXTERNALLEADING, DT_INTERNAL, DT_NOCLIP, DT_NOPREFIX值不能和DT_TABSTOP值一起...

c++6.0输入一个字符,若为数字,输出YES,若不为数字,输出NO。
可以用ctype中的int isdigit(char ch)来判断字符是否为数字 具体资料自己查找。

相似回答