如何用C语言实现文件的模糊查找-程序设计 C语言 文件名 模糊查找

如何用C语言实现文件的模糊查找-程序设计 C语言 文件名 模糊查找,第1张

一要能够查找文件名,首先,要能够遍历目录;把它写出来

二在1的基础上,把获得的每个文件名与key比较,若文件名包含key则找到输出,并

继续;否则不输出继续,查下一个

文件名包含key判断方面,<stringh>里有个strstr可以使用;具体你翻查看下,不再赘述。

问题是这样:C语言编写函数int fun(char s,char c), 函数的功能是查找母串s中,字串c出现的次数

答案是这样:

#include<stdioh>

#include<stringh>

int fun(chars,charc)

{

int i=0,j=0,k,n=strlen(c),a=0;

while(s[i])

{

if(s[i]==c[j])

{ for(k=1;(s[i+k]&&c[i+k])&&(s[i+k]==c[j+k]);k++);

if(k==n)

a++;

i+=n;

}

else

i++;

}

return a;

}

void main()

{

char s[40],c[20];

int m=0;

gets(s);

gets(c);

m=fun(s,c);

printf("%d\n",m);

}

你把它改为文件不就行了!你也是知道的算法思想是一样的!

#include "stdioh"

#include <stdlibh>

#include <stringh>

#include "timeh"

char s[2000][1501];

int main(int argc,char argv[]){

char t[26],f[5]="ABCD",pt;

int i,j,k,n;

srand((unsigned)time(NULL));

for(i=0;i<2000;i++){

for(n=rand()%501+1000,j=0;j<n;s[i][j++]=f[rand()%4]);

s[i][j]='\0';

}

for(i=0;i<25;t[i++]=f[rand()%4]);

t[i]='\0';

printf("Looking for \'%s\'\n",t);

for(n=j=k=i=0;i<2000;i++){

if((pt=strstr(s[i],t)) && strstr(pt+1,t)){

pt=NULL;

n=2;

break;

}

if(pt && ++n==1)

k=i,j=pt-s[i];

if(n>1)

break;

}

if(n==1)

printf("There is only one \'%s\', which began from s[%d][%d]\n",t,k,j);

else if(n>1)

printf("Find more\n");

else

printf("Could not find\n");

return 0;

}

运行样例:

以上就是关于如何用C语言实现文件的模糊查找-程序设计 C语言 文件名 模糊查找全部的内容,包括:如何用C语言实现文件的模糊查找-程序设计 C语言 文件名 模糊查找、用C语言编写一个从普通文本字符串中查找给定字符串(关键词)的程序。(急,求真大神解答)、如何用c语言编写检索程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9335916.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存