c读取目录所有文件
A. 急~!!!如何用C/C++ 读取文件夹中所有文件(如.csv文件)
CString pathWild = "你的路袭径" + _T("\\*.csv");
struct _finddata_t c_file;
long hFile;
if( (hFile = _findfirst( LPCTSTR(pathWild), &c_file )) == -1L)
{
MessageBox("选择目录下并无csv文件,请确认");
_findclose(hFile);
return;
}
else
{
do
{
//这里就是文件名,加上之前的路径就是完整路径了
CString strFileName = c_file.name;
}
while (_findnext(hFile, &c_file) == 0);
}
_findclose(hFile);
B. C语言中,如何编写指定文件夹读取所有文件的函数
|不是我写的 转来的 TC下或BC下
#include <stdio.h>
#include <stdlib.h>
#include <dir.h>
#include <dos.h>
#include "conio.h"
#define ALL FA_RDONLY |FA_HIDDEN | FA_SYSTEM | FA_LABEL | FA_ARCH
void dirme(char * pfad);
void main()
{
clrscr();
dirme("c:\\*.*");
getch();
dirme("c:\\windows\\*.*");
getch();
}
void dirme(char * pfad)
{
struct ffblk block;
int ret;
int num=0;
for (ret=findfirst(pfad,&block,ALL);!ret; ret=findnext(&block))
{
printf("File%d : %s\n",num++,block.ff_name);
}
C. c++中怎么把读取文件夹下的所有文件名存入数组
1、在linux平台,可采用目录操作函数,读取当前目录下的文件
#include <sys/types.h>
#include <dirent.h> //windows开发工具没有这个头文件
#include <unistd.h>
#include <string.h>
main()
{
DIR * dir;
struct dirent * ptr;
char file_list[100][40];
int i=0;
dir = opendir("/etc/rc.d"); //打开一个目录
while((ptr = readdir(dir)) != NULL) //循环读取目录数据
{
printf("d_name : %s\n", ptr->d_name); //输出文件名
strcpy(file_list[i],ptr->d_name ); //存储到数组
if ( ++i>=100 ) break;
}
closedir(dir);//关闭目录指针
}
2、在windows平台下,如VC也有类似的操作函数,如:
#include <string>
#include <iostream>
using namespace std;
#include <WINDOWS.H>
void main()
{
string szPath="d:/*.*";
WIN32_FIND_DATA wfd;
HANDLE hFind;
char file_list[100][40];
int i=0;
hFind = FindFirstFile(szPath.c_str(), &wfd) ;
do
{
cout << wfd.cFileName << endl ;
strcpy(file_list[i],wfd.cFileName ); //存储到数组
if ( ++i>=100 ) break;
}while (FindNextFile(hFind, &wfd));
FindClose(hFind);
}
D. c语言 怎样获取文件夹中的所有文件
较简单的是用DOS命令 DIR 并转向到一个文件,再打开文件读出一个一个文件名。
例如:
char my_cmd[80] = "DIR/B/A-D D:\\USER\\WANG >> abc.lis";
system( cmd);
你就获专得D:\\USER\\WANG 文件夹中属的所有文件,选项意思是 只列 文件名,并按字母排列。
>> abc.lis 转向,存入文件 abc.lis
接着,你可以 用FILE *fp; fp = fopen("abc.lis","r"); 打开文件
用 fgets() 读文件名。
E. c语言 读取目录中的文件名,并将其存入数组中
在linux编译器下,可采用目录操作函数,读取当前目录下的文件
#include<sys/types.h>
#include<dirent.h>//windows开发工具没有这个头文件
#include<unistd.h>
#include<string.h>
main()
{
DIR*dir;
structdirent*ptr;
charfile_list[100][40];
inti=0;
dir=opendir("/etc/rc.d");//打开一个目录
while((ptr=readdir(dir))!=NULL)//循环读取目录数据
{
printf("d_name:%s ",ptr->d_name);//输出文件名
strcpy(file_list[i],ptr->d_name);//存储到数组
if(++i>=100)break;
}
closedir(dir);//关闭目录指针
}
在windows下,如VC也有类似的操作函数,如:
#include<string>
#include<iostream>
usingnamespacestd;
#include<WINDOWS.H>
voidmain()
{
stringszPath="d:/*.*";
WIN32_FIND_DATAwfd;
HANDLEhFind;
charfile_list[100][40];
inti=0;
hFind=FindFirstFile(szPath.c_str(),&wfd);
do
{
cout<<wfd.cFileName<<endl;
strcpy(file_list[i],wfd.cFileName);//存储到数组
if(++i>=100)break;
}while(FindNextFile(hFind,&wfd));
FindClose(hFind);
}
F. 如何用C语言获取目录下的文件和目录列表
#include <stdio.h>
#include <stdlib.h>
void main()
{
system("DIR /D C:\\ /s /B > a.log");
}
C:\下的所有文件夹,子文件夹里所有文件,转向到 文本文件 a.log 里。
格式:
C:\aaa\bbb\ccc\...
只要文件夹命令:
dir /d c: /B /ad
只要文件夹命令,含子文件夹:
dir /d c: /B /ad /s
G. C语言怎么读取某一文件夹下的所有文件夹和文件
读取的代码方式如下:
int main()
{
long file;
struct _finddata_t find;
_chdir("d:\");
if((file=_findfirst("*.*", &find))==-1L)
{
printf("空白! ");
exit(0);
}
printf("%s ", find.name);
while(_findnext(file, &find)==0)
{
printf("%s ", find.name);
}
_findclose(file);
return 0;
}
H. 如何用c语言获得一个目录下所有文件的文件名
void enum_path(char *cpath){
WIN32_FIND_DATA wfd;
HANDLE hfd;
char cdir[MAX_PATH];
char subdir[MAX_PATH];
int r;
GetCurrentDirectory(MAX_PATH,cdir);
SetCurrentDirectory(cpath);
hfd = FindFirstFile("*.*",&wfd);
if(hfd!=INVALID_HANDLE_VALUE) {
do{
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(wfd.cFileName[0] != '.') {
// 合成完整路径名
sprintf(subdir,"%s\\%s",cpath,wfd.cFileName);
// 递归枚举子目录
enum_path(subdir);
}
}else{
printf("%s\\%s\n",cpath,wfd.cFileName);
// 病毒可根据后缀名判断是
// 否要感染相应的文件
}
}while(r=FindNextFile(hfd,&wfd),r!=0);
}
SetCurrentDirectory(cdir);
}
I. windows下使用C/C++怎么遍历目录并读取目录下的文件列表
用C的函数实现,windows ,linux 都能用
#include<iostream>
#include<io.h>
#include<string>
usingnamespacestd;
voiddir(stringpath)
{
longhFile=0;
struct_finddata_tfileInfo;
stringpathName,exdName;
//\*代表要遍历所有的类型
if((hFile=_findfirst(pathName.assign(path).append("\*").c_str(),&fileInfo))==-1){
return;
}
do
{
//判断文件的属性是文件夹还是文件
cout<<fileInfo.name<<(fileInfo.attrib&_A_SUBDIR?"[folder]":"[file]")<<endl;
}while(_findnext(hFile,&fileInfo)==0);
_findclose(hFile);
return;
}
intmain()
{
//要遍历的目录
stringpath="E:\work\\test4";
dir(path);
system("pause");
return0;
}