依次读取文件夹中的文件
如题,如何依次读取一个文件夹下的所有文件?
[解决办法]
参考MS的库函数_findfirst, _findnext
#include <stdio.h>#include <stdlib.h>#include <io.h>#include <time.h>int main( void ){ struct _finddata_t c_file; intptr_t hFile; // Find first .c file in current directory if( (hFile = _findfirst( "*.c", &c_file )) == -1L ) printf( "No *.c files in current directory!\n" ); else { printf( "Listing of .c files\n\n" ); printf( "RDO HID SYS ARC FILE DATE %25c SIZE\n", ' ' ); printf( "--- --- --- --- ---- ---- %25c ----\n", ' ' ); do { char buffer[30]; printf( ( c_file.attrib & _A_RDONLY ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_SYSTEM ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_HIDDEN ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_ARCH ) ? " Y " : " N " ); ctime_s( buffer, _countof(buffer), &c_file.time_write ); printf( " %-12s %.24s %9ld\n", c_file.name, buffer, c_file.size ); } while( _findnext( hFile, &c_file ) == 0 ); _findclose( hFile ); }}
[解决办法]
//楼主可以无视偶6楼的回复,看这个吧//-----------------------------------//c盘下的A文件夹,比如里面包括:1.INF,2.INF,1.txt这三个文件,要查找.INF文件//-----------------------------------#include<stdio.h> #include<string.h> #include<stdlib.h> #include<io.h> #include <process.h>#include <memory.h>void SearchFile(const char *); int main() { SearchFile("C:\\A"); printf("\n"); system("pause"); return 0; } void SearchFile(const char *dir){ struct _finddata_t ffblk; char path[256]; sprintf(path,"%s\\*.INF*",dir); long done = _findfirst(path,&ffblk); int find=0; while (find==0) { if(strcmp(ffblk.name,".INF")) printf("%s\n",ffblk.name); find=_findnext(done,&ffblk); } _findclose(done); }