编写一个类Test,mysql 实现全文检索从str1中检索出str2在str1中重复出现的次数。

我叶良辰在努力学习iOS中~
判断字符串1是否在字符串2中出现的方法
问题描述:
判断字符串str1,是否出现在str2出现。如果出现,则输出对应的位置,如果没有出现则输出not found。
逐个比对的方法:
算法思路:p1和p2分别指向str1和str2,首先扫描str2,找到与str1的第一个字符相同的字符,然后p1和p2同时增加,进行比较,如果最后p1的下一个字符为'\0'则说明匹配成功,否则重置p1重新比较。
#include&iostream&
int main()
char *str1 = "kl";
char *str2 = "jdsklfj3j43kljkljklj";
char *p1 = str1,*p2 = str2;
while(*p2!='\0')
if(*p2==*p1)
if(*(p1+1)=='\0')
p2++;p1++;
p2++;p1=str1;
if(p1==str1)cout&&"not found";
else cout&&p2-str2-(p1-str1)&&
利用cstring中的strstr函数:
#include&iostream&
#include&cstring&
int main()
char *str1 = "kl";
char *str2 = "jdsklfj3j43kljkljklj";
char *p = strstr(str2,str1);
cout&&p-str2&&
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!有两个字符串str1和str2,写一个函数实现在str1中查找str2的初始位置。要求不区分大小写。
#include &stdio.h&#include &string.h&void main(int argc, char *argv[]){
int SubStrPosition(char *str1, char *str2);
char *str1 = "are78fcbcdEgf";
char *str2 = "Re";
printf("The position is %d.\n", SubStrPosition(str1,str2));}/* 查找str2在str1中的位置,不存在时返回-1 */int SubStrPosition(char *str1,char *str2){
int istr1Len = 0;
int istr2Len = 0;
int i = 0;
int j = 0;
int iPosition = -1;
istr1Len = strlen(str1);
istr2Len = strlen(str2);
if (istr2Len & istr1Len)
printf("Str2 cann't be the substring of str1.\n");
return -1;
/* 开始寻找str2在str1中的位置,不区分大小写 */
for (i; i & istr1L i++)
for (j; j & istr2L j++)
if (!((str1[i+j] == str2[j]) || (str1[i+j] == str2[j] + 32)
|| (str1[i+j] == str2[j] - 32)))
if (j == istr2Len)
iPosition = i+1;
return iP}
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!编写一个函数,输入2个字符串(str1,str2),删除str1内str2中出现的字符,并输出删除后的结果
本回答由提问者推荐
var sogou_ad_id=731547;
var sogou_ad_height=160;
var sogou_ad_width=690;编写一个程序,从标准输入中读取若干string对象并查找连续重复出现的单词。所谓连续重复出现的意思是:一个单词后面紧跟着这个单词本身。要求记录连续重复出现的最大次数以及对应的单词
时间: 15:27:09
&&&& 阅读:259
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&
#include&iostream&
#include&string&
#include&vector&
using namespace
int main()
string maxStr,Str1,Str2;
int maxNum,Num1,Num2;
if(cin&&Str1)
while(cin&&Str2)
if(Str2==Str1)
Num2=++Num1;
if(Num1&maxNum)
maxStr=Str1;
maxNum=Num1;
if(Str1!=Str2)
Str1=Str2;
Num1=Num2;
cout&&"max string:"&&maxStr&&"
number :"&&maxNum&&
运行结果:
标签:&&&&&&&&&&&&&&&&&&&&&&&&原文:http://www.cnblogs.com/wuchanming/p/3892202.html
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!strcmp_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
C/C++函数,比较两个字符串设这两个字符串为str1,str2,若str1==str2,则返回零;若str1&str2,则返回负数;若str1&str2,则返回正数。matlab中函数,strcmp(s1,s2) 判断两个字符串s1和s2是否相同,相同返回true ,不同返回false
strcmp原型
extern&int&strcmp(const&char&*s1,const&char&*s2);
strcmp说明
当s1&s2时,返回为负数;
当s1==s2时,返回值= 0;
当s1&s2时,返回正数。
即:两个串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:
"A"&"B" "a"&"A" "computer"&"compare"
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。
Return Value
Returns an integral value indicating the relationship between the strings:
return value&0 the first character that does not match has a lower value inptr1than inptr2
return value=0 the contents of both strings are equal
return value&0 the first character that does not match has a greater value inptr1than inptr2
当两个字符串不相等时,C标准没有规定返回值会是1 或 -1,只规定了正数和负数。有些实现会返回1或-1,但将返回值与1或-1做比较的人,都是不合格的程序员。
有些会把两个字符的ASCII码之差作为比较结果由函数值返回。但无论如何不能以此条依据作为程序中的流程逻辑。
strcmp代码
#include&&string.h&
#include&&memcopy.h&
#undef&strcmp
int&strcmp(p1,p2)
&&&&const&char&*p1;
&&&&const&char&*p2;
&&&&register&const&unsignedchar&*s1=(const&unsignedchar*)p1;
&&&&register&const&unsignedchar&*s2=(const&unsignedchar*)p2;
&&&&unsigned&reg_charc1,c2;
&&&&&&&&c1=(unsigned&char)*s1++;
&&&&&&&&c2=(unsigned&char)*s2++;
&&&&&&&&if(c1=='\0')
&&&&&&&&&&&&returnc1-c2;
&&&&}while(c1==c2);
&&&&return&c1-c2;
libc_hidden_builtin_def(strcmp)
//最正宗的源码(他以上代码是K&R&C规范的,ASCI&C的在下面)
/*strcmp&function*/
#include&&string.h&&
int(strap)(const&char&*sl,const&char&*s2)
&&&&/*compare&unsigned&char&sl[],s2[]*/
&&&&for(;*sl==*s2;++sl,++s2)
&&&&&&&&if(*sl=='\0')
&&&&&&&&&&&&return(0);
&&&&return((*(unsignedchar*)sl&*(unsignedchar*)s2)?-1:+1);
strcmp另外的源代码如下:
int&__cdecl&strcmp(const&char&*src,const&char&*dst)
&&&&int&ret=0;
&&&&while(!(ret&=&*(unsigned&char&*)src&-&*(unsigned&char&*)dst)&&&&*dst)
&&&&&&&&++src,++
&&&&if(ret&0)
&&&&&&&&ret=-1;
&&&&else&if(ret&0)
&&&&&&&&ret=1;
&&&&return(ret);
还有一种模拟算法:
int&strcmp(const&char&*&src,&const&char&*&dst)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//字典序比较两字符串大小
&&&&int&ret&=&0&;
&&&&while(!(ret=*src-*dst)&&*dst)&&&//相等且没有结束
&&&&&&&&++src,&++
&&&&return(&ret&);
strcmp源码
int&strcmp(const&char&*str1,const&char&*str2)
&&&&/*不可用while(*str1++==*str2++)来比较,当不相等时仍会执行一次++,
&&&&return返回的比较值实际上是下一个字符。应将++放到循环体中进行。*/
&&&&while(*str1&==&*str2)
&&&&&&&&if(*str1&==&'\0')
&&&&&&&&&&&&return0;
&&&&&&&&str1++;
&&&&&&&&str2++;
&&&&return&*str1&-&*str2;
strcmp应用举例1
(在VC6.0中运行通过)
#include&&stdio.h&
#include&&string.h&
int&main()
&&&&char&string[20];
&&&&char&str[3][20];
&&&&int&i;
&&&&for(i=0;i&3;i++)
&&&&&&&&gets(str[i]);
&&&&if(strcmp(str[0],str[1])&0)
&&&&&&&&strcpy(string,str[0]);
&&&&&&&&strcpy(string,str[1]);
&&&&if(strcmp(str[2],string)&0)
&&&&&&&&strcpy(string,str[2]);
&&&&printf("\nThe&largest&string&is%s\n",string);
&&&&return&0;
strcmp应用举例2
(TC中运行通过)
//strcmp.c
#include&&syslib.h&
#include&&string.h&
&&&&char&*s1="Hello,Programmers!";
&&&&char&*s2="Hello,programmers!";
&&&&int&r;
&&&&clrscr();
&&&&r&=&strcmp(s1,s2);
&&&&if(!r)
&&&&&&&&printf("s1&and&s2&are&identical");
&&&&else&if(r&0)
&&&&&&&&printf("s1&less&than&s2");
&&&&&&&&printf("s1&greater&than&s2");
&&&&getchar();
&&&&return&0;
strcmp使用
strcmp — 二进制安全字符串比较
int&strcmp(&string&$str1&,&string&$str2&)
注意该比较区分大小写。
str1第一个字符串。
str2第二个字符串。
如果 str1小于 str2,返回负数;如果 str1大于 str2,返回正数;二者相等则返回 0。(相等时返回0)
&&&&&&&&$var1="Hello";
&&&&&&&&$var2="Hello";
&&&&&&&&&if(strcmp($var1,$var2)==0)
&&&&&&&&&{echo'相等';
&&&&&&&&&}
&&&&&&&&else&&&&&{
&&&&&&&&&&&&&&&&echo'不相等';
strcasecmp — 二进制安全比较字符串(不区分大小写)
int&strcasecmp(string$str1,string$str2)
第一个字符串。
第二个字符串。
返回值: 如果 str1 小于 str2 返回 & 0; 如果 str1 大于 str2 返回 & 0;如果两者相等,返回 0。
 $var1="Hello";
 $var2="hello";
 if(strcasecmp($var1,$var2)==0){
 echo'$var1isequalto$var2inacase-insensitivestringcomparison';
.C博客[引用日期]
清除历史记录关闭}

我要回帖

更多关于 检索式编写 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信