您的位置:首页 > 编程语言 > C语言/C++

c语言查找某路径下文件名中包含指定字符串的所有文件

2019-03-08 00:23 1141 查看

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <dirent.h>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>

int is_in(char *s, char *c);
int main(int argc, char *argv[])
{
char prefix[] = “enter your string”;
char filepath[] = “enter your path”;
DIR *directory_pointer;
struct dirent *entry;
if((directory_pointer=opendir(filepath))==NULL)
printf( “Error opening \n “);
else
{
while((entry=readdir(directory_pointer))!=NULL)
{
if(is_in(entry->d_name,prefix)==1){
//printf(”%s\n”,entry-> d_name);
strcat(filename, filepath);
strcat(filename, entry->d_name);
printf("%s\n",filename);
}
}
closedir(directory_pointer);
}
return 0;
}

int is_in(char *s, char *c)
{
int i=0,j=0,flag=-1;
while(i<strlen(s) && j<strlen( c )){
if(s[I] == c[j]){
i++;
j++;
}
else{
i=i-j+1;
j=0;
}
if(j==strlen( c )){
flag=1;
break;
}
}
return flag;
}

用一个is_in函数来比较指定字符串是否包含在文件名内,打印出符合条件的文件名即可。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐