| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1054 人关注过本帖
标题:一个查找字符串的程序
取消只看楼主 加入收藏
lixang
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2006-7-15
收藏
 问题点数:0 回复次数:1 
一个查找字符串的程序

#include<iostream.h> //在一个字符串中找另外一个字符串存在的位置
//比如"abcdefgh"与"cde"-----在第三个字母处找到!
#include<string.h>

void seach_str(char*str,char*substr)
{
int n=0;
while(strlen(str)>=strlen(substr))//
当被查找的字符>=要查找的字符传时.才执行..........
{

char *Substr=substr;
if(*str!=*Substr)
{
str++;
n++;//
被查找的字符到了第几个字母
}
if(*str==*Substr)
{
str++;
Substr++;
n++;//
被查找的字符这时又到了第几个字母
}
if(*Substr=='\0') break;//
查找的字符到了末尾就结素!
}
cout<<"在第"<<n-strlen(substr)+1<<"个字母处找到了你要查找的字符串"<<endl;
}

void main()
{
char str1[]="abdtdthecf";
char substr1[]="bdt";
for(int i=0;i<11;i++)
cout<<str1[i]<<' ';
for( i=0;i<4;i++)
cout<<substr1[i]<<' ';

seach_str(str1,substr1);//结果出乎意料!
}

望大家指点指点!

[此贴子已经被作者于2006-8-21 21:41:21编辑过]

搜索更多相关主题的帖子: 字符 
2006-08-21 17:12
lixang
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2006-7-15
收藏
得分:0 
以下是引用wfpb在2006-8-22 11:57:09的发言:
#include <iostream>
using namespace std;
int searchSubstr(const char*str,const char*buf)
{
const char*sPos=buf;
int max=(int)strlen(str);
int end=0;
for(int i=0;i<max;i++,str++)
{
static int start=i;
static bool b_find=false;
if (*buf==*str) {
end++;
buf++;
b_find=true;
if(end==strlen(sPos))return start;
}
else { //能解释以下么?
if (b_find) {
i--;
str--;
b_find=false;
}
start=i+1;
end=0;
buf=sPos;
}
}
return -1; //返回-1是怎么回事呢?
}
void main()
{
cout<<searchSubstr("12323456","234")<<endl;
}

2006-08-23 14:38
快速回复:一个查找字符串的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023597 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved