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

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

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

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

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

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

#include <stdioh>

#include <stdlibh>

#include <stringh>

int main(void)

{

const char a = "This is an example of text string with LF";

const char b = "example";

int i;

int rval;

for (i = 0; i < strlen(a) - strlen(b); i++) {

rval = strncmp(a + i, b, strlen(b));

if (!rval) {

printf("found!\n");

return 0;

}

}

printf("not found!\n");

return 0;

}

system就是调用从程序中调用系统命令(和shell命令)。 system("pause")就是从程序里调用“pause”命令; 而“pause”这个系统命令的功能很简单,就是在命令行上输出一行类似于“Press any key to exit”的字,等待用户按一个键,然后返回。

#include<stdioh>

main()

{

    char ptr, filename[50];/定义变量及数组为字符型/

    printf("please input the file name you want to search:\n");

    scanf("%s", filename);/输入要查找的文件名/

    if ((ptr = searchpath(filename)) != NULL)

        printf("the path is:%s\n", ptr);/将文件所在的路径输出/

    else

        printf("cannot find");/若文件未找到,输出双引号内提示信息/

}

void main

{

char str[]="";(为自己输入的字符串)

char a;

scanf("%c",&a);

int i;

for(i=0;i<=strlen(str);i++)

{

if(a==str[i])

{printf("%c在字符串第%d个位置",a,i+1);break;}

else

printf("字符串中无该字符");

}

}

写了个,全都用指针。

#include<stdioh>

int main ()

{

    int a[10], n;

    int p1, p2;

    printf("Input 10 numbers: ");

    for(p1 = a; p1 < a + 10; p1++)

        scanf("%d", p1);

    printf("Input number: ");

    scanf("%d", &n);

    for(p1 = a; p1 < a + 10; p1++)

    {

        if(p1 == n)

        {

            for(p2 = p1 + 1; p2 < a + 10; p2++)

                (p2 - 1) = p2;

            break;

        }

    }

    if(p1 == a + 10)

    {

        printf("Not found!\n");

    }

    else

    {

        printf("Found!\nThe new array: ");

        for(p1 = a; p1 < a + 9; p1++)

            printf("%d ", p1);

    }

    return 0;

}

实现代码如下:

#include <stdioh>

#include <stdlibh>

int main()

{

    char S[100],T[20];

    char ch1,ch2;

    printf("请输入主字符串:\n");

    ch1=getchar();

    int i=0;

    while(ch1!='\n')

    {

        S[i]=ch1;

        i++;

        ch1=getchar();

    }

 

    printf("请输入要筛选的字符串:\n");

    ch2=getchar();

    int j=0;

    while(ch2!='\n')

    {

        T[j]=ch2;

        j++;

        ch2=getchar();

    }

 

    int m,n;//m为S的下标,n为T的下标

    m=0;

    n=0;

    int num=0;//num用于记录选定单词出现的次数

    while(m<=i&&n<=j)

    {

        if(S[m]==T[n])

        {

            m++;

            n++;

        }

        else

        {

            m=m-n+1;

            n=0;

        }

        if(n==j)

        {

            num++;

        }

    }

    if(m==i+1)

        {

            printf("出现的次数是%d",num);

        }

}

代码二:

int strstr_cnt(const char string ,const char substring)

{

     int i,j,k,count=0;

     for(i=0;string[i];i++)

        for(j=i,k=0;string[j]==substring[k];j++,k++)

           if(!substring[k+1])

                count++;

     return(count);

}

<<"1输入/添加学生资料"<<endl<<"

2输出学生资料"<<endl<<"

3查找"<<endl<<"

4删除"<<endl<<"

5总分排序"<<endl<<"

6退出"<<endl<<endl<<"

请选择你要的服务(1-6)"<<endl;cin>>chose;if(chose=='6'){break;}switch(chose){case'1'://

输入学生信息{do{cout<<"

请输入学生姓名:"<<endl;ch1=newchar[];ch2=newchar[];cin>>ch1;cout<<"

请输入学号:"<<endl;cin>>num;while(stcheck_num(num)){cout<<"

学号重复,请重新输入"<<endl;cin>>num;}cout<<"

请输入地址:"<<endl;cin>>ch2;cout<<"

请输入高数成绩:"<<endl;cin>>x;cout<<"

请输入英语成绩:"<<endl;cin>>y;cout<<"

请输入计算机成绩:"<<endl;cin>>z;stinput(ch1,num,ch2,x,y,z);printf("\n

是否继续输入学生信息(\"y\"继续)");scanf("%s",flag);}while(strcmp(flag,"y")==0);}break;case'2'://

输出学生资料{temp=count;count=1;cout<<"

序号\t姓名\t学号\t\t地址\t\t\t高数\t英语\t计算机"<<endl;while(count<=temp){stshow();count++;}count--;getch();}break;case'3':{cout<<"

请输入你要查找学生的学号"<<endl;cin>>find;stfind(find);}break;case'4':{cout<<"

请输入你要删除的学生学号"<<endl;cin>>del;stdel(del);}break;case'5':{sttaxis();}break;

default:{cout<<"输入错误!!!,请重新输入"<<endl;getch();}}}cout<<"感谢你的使用!\n"<<endl;getch();

}

#include<stdioh>

#include<windowsh>

#include<stringh>

structworker

{

intnum;

charname[20];

charzhicheng[10];

intwages;

intreward;

longbirth;

intsalary;

}work[500],work1;/定义结构体/

voidmenu();//声明菜单函数

voidtype_in();//声明录入函数

voidbaocun(int);//声明保存函数

voidscan();//声明浏览函数

voiddel();//声明删除函数

voidsearch();//声明查询函数

voidsearch_zhicheng();//声明按职称查询函数

voidsearch_name();//声明按姓名查找函数

voidchange();//声明修改函数

voidorder();//声明排序函数

voidadd();//声明添加函数

voidorder_wages();

voidorder_name();

voidmenu()/菜单函数/

{

printf("\n");

printf("welcometo\n");

printf("职工信息管理系统");

printf("\n");

printf("1录入职工信息\n");

printf("2浏览职工信息\n");

printf("3查询职工信息\n");

printf("4删除职工信息\n");

printf("5修改职工信息\n");

printf("6职工信息排序\n");

printf("7添加职工信息\n");

printf("8退出\n");

printf("\n");

printf("\n");

}

//

voidmain()

{

intn,f;

while(1)

{

do

{

menu();/调用菜单函数/

printf("请输入你需要 *** 作的序号(1—8):\n");

scanf("%d",&n);

if(n>=1&&n<=8)

{

f=1;

break;

}

else

{

f=0;

printf("您输入有误,请重新选择!");

}

}while(f==0);

switch(n)

{

case1:printf("录入职工信息\n");printf("\n");type_in();break;

case2:printf("浏览职工信息\n");printf("\n");system("cls");scan();break;

case3:printf("查询职工信息\n");printf("\n");system("cls");search();break;

case4:printf("删除职工信息\n");printf("\n");system("cls");del();break;

case5:printf("修改职工信息\n");printf("\n");system("cls");change();break;

case6:printf("职工信息排序\n");printf("\n");system("cls");order();break;

case7:printf("添加职工信息\n");printf("\n");system("sls");add();break;

case8:gotoloop;/用goto语句跳至跳至指定的行/

default:break;

}

}

loop://行标

system("cls");

printf("\n\n\n\n\n\n-----

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

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

原文地址: http://outofmemory.cn/zz/9330575.html

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

发表评论

登录后才能评论

评论列表(0条)

保存