使用函数判断字符串中是否包含有某字串

C++风格

C++的string类提供了字符串中查找另一个字符串的函数find

其形式为:

string::size_type string::find(string &);

 功能为在string对象中,查找string类型的子字符串是否存在

将返回值给string::size_type型变量时,如果存在,返回起始位置,不存在则返回 string::npos。

将返回值给int型变量时,找到字串返回字串的起始位置,没找到返回-1

int main()
{
	string str="this is a test string";
	string a="string";
	string b="xiao";

	int index1;
	index1=str.find(a);  //返回字串的起始地址15
	cout<<index1<<endl;
	index1=str.find(b);  //未找到,返回-1
	cout<<index1<<endl;

	string::size_type index2;
	index2=str.find(a);
	if(index2==string::npos)
		cout<<"not found"<<endl;
	else
		cout<<index2<<endl;
	index2=str.find(b);
	if(index2==string::npos)
		cout<<"not found"<<endl;
	else
		cout<<index2<<endl;
	return 0;
}

 

C风格

在C语言中,字符串存储为字符数组,以'\0'结束。 在C的接口中,有strstr函数,可以在字符串中查找另一个字符串。

char * strstr(const char *str1, const char *str2);

功能为在str1中查找str2,如果存在,那么返回查找到的起始指针,否则返回NULL。

int main()
{
	char *str="This is a test string";
	char *a="string";
	char *b="xiao";
	char* res=strstr(str,a);
	if(res)
		cout<<*res<<endl;
	else
		cout<<"NULL"<<endl;
	res=strstr(str,b);
	if(res)
		cout<<*res<<endl;
	else
		cout<<"NULL"<<endl;
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值