本文实例讲述了C语言按关键字搜索文件夹中文件的方法。分享给大家供大家参考。具体实现方法如下:
方法1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include<iostream> #include<string> #include<io.h> using namespace std; void filesearch(string path,string mode) { struct _finddata_t filefind; if (path[path.size()-1]== '\\' ) path.resize(path.size()-1); string curr=path+ "\\*.*" ; int done=0,handle; if ((handle=_findfirst(curr.c_str(),&filefind))==-1) return ; while (!(done=_findnext(handle,&filefind))) { if (! strcmp (filefind.name, ".." )) continue ; curr=path+ "\\" +filefind.name; if ( strstr (filefind.name,mode.c_str())) cout<<curr<<endl; if (_A_SUBDIR==filefind.attrib) filesearch(curr,mode); } _findclose(handle); } void main() { string path,mode; cout<< "请输入要搜的目录" <<endl; cin>>path; cout<< "请输出包含字符" <<endl; cin>>mode; filesearch(path,mode); } |
方法2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include<stdio.h> #include<string.h> #include<dir.h> #define SIZE 12 void find_creat_file( char *); int main( void ) { char filename[SIZE]; strcpy (filename, "filename" ); find_creat_file(filename); getch(); return 0; } void find_creat_file( char *filename) { struct ffblk ffblk; int done; done=findfirst( "d:\\filename" ,&ffblk,0); if (done==0) return 0; else mkdir( "d:\\filename" ); } |
希望本文所述对大家的C语言程序设计有所帮助。