window环境下 C语言遍历一个目录下的文件
2017-02-24 15:41
295 查看
window环境下 C语言遍历一个目录下的文件
#include <iostream>
#include<stdlib.h>
#include <io.h>
#include <string.h>
using namespace std;
const int MAXLEN = 1024; //定义最大目录长度
unsigned long SumFile = 0; //记录文件数量
void ListDir(const char* pchData)
{
_finddata_t fdata; //定义文件查找结构对象
long done;
char tempdir[MAXLEN] = {0}; //定义一个临时字符数组
strcat(tempdir, pchData); //连接字符串
strcat(tempdir, ":\\*.rar"); //连接字符串(搜索以RAR结尾的文件)
//cout << tempdir << endl;
done = _findfirst(tempdir, &fdata); //开始查找文件
if(done!=-1) //是否查找成功
{
int ret = 0;
while(ret!=-1) //定义一个循环
{
if(fdata.attrib != _A_SUBDIR) //判断文件属性
{
//cout << fdata.name << endl;
if(strcmp(fdata.name, "...")!=0 &&
strcmp(fdata.name, "..") != 0 &&
strcmp(fdata.name, ".") != 0) //过滤
{
char dir[MAXLEN] = {0}; //定义字符数组
strcat(dir, pchData); //连接字符串
strcat(dir, ":\\");
strcat(dir, fdata.name);
cout << dir << endl; //输出查找到的文件名
SumFile++; //累加文件个数
}
}
ret = _findnext(done, &fdata); //查找下一个文件
}
}
}
int main(int argc, char* argv[]) //主函数
{
while(true) //设计一个循环
{
SumFile = 0;
char szFileDir[128] = {0}; //定义一个字符数组,存储目录
cin >> szFileDir; //让用户输入要查找的目录名
ListDir(szFileDir); //调用ListDir函数遍历目录
cout << "磁盘存在" << SumFile << "个此文件" << endl; //统计文件数量
}
system("pause");
return 0;
}
window环境下 C语言遍历一个目录下的文件
#include <iostream>
#include<stdlib.h>
#include <io.h>
#include <string.h>
using namespace std;
const int MAXLEN = 1024; //定义最大目录长度
unsigned long SumFile = 0; //记录文件数量
void ListDir(const char* pchData)
{
_finddata_t fdata; //定义文件查找结构对象
long done;
char tempdir[MAXLEN] = {0}; //定义一个临时字符数组
strcat(tempdir, pchData); //连接字符串
strcat(tempdir, ":\\*.rar"); //连接字符串(搜索以RAR结尾的文件)
//cout << tempdir << endl;
done = _findfirst(tempdir, &fdata); //开始查找文件
if(done!=-1) //是否查找成功
{
int ret = 0;
while(ret!=-1) //定义一个循环
{
if(fdata.attrib != _A_SUBDIR) //判断文件属性
{
//cout << fdata.name << endl;
if(strcmp(fdata.name, "...")!=0 &&
strcmp(fdata.name, "..") != 0 &&
strcmp(fdata.name, ".") != 0) //过滤
{
char dir[MAXLEN] = {0}; //定义字符数组
strcat(dir, pchData); //连接字符串
strcat(dir, ":\\");
strcat(dir, fdata.name);
cout << dir << endl; //输出查找到的文件名
SumFile++; //累加文件个数
}
}
ret = _findnext(done, &fdata); //查找下一个文件
}
}
}
int main(int argc, char* argv[]) //主函数
{
while(true) //设计一个循环
{
SumFile = 0;
char szFileDir[128] = {0}; //定义一个字符数组,存储目录
cin >> szFileDir; //让用户输入要查找的目录名
ListDir(szFileDir); //调用ListDir函数遍历目录
cout << "磁盘存在" << SumFile << "个此文件" << endl; //统计文件数量
}
system("pause");
return 0;
}
相关文章推荐
- unix 环境高级编成 程序清单1-1 列出一个目录中所有的文件
- JAVA 程序中如何拷贝一个目录下的文件及子目录到另一个目录,如何获取系统环境变量等...
- 一个用递归遍历目录文件的脚本
- golang遍历某个目录下的文件,并读取文件名到一个csv文件
- 如何使用perl遍历一个目录下的所有文件
- 遍历一个目录下的所用文件和子文件夹
- 遍历一个文件下的所有目录和文件
- C语言 递归地删除一个指定目录下所有指定类型的文件
- [Linux]C语言遍历文件和目录
- 遍历一个目录(含子目录)下所有文件
- 一个遍历指定目录下所有文件的例子
- 分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- 遍历一个目录下的所有文件
- 一个自认为比较经典的层次文件目录遍历程序
- shell 对一个目录树的遍历及遍历文件处理
- 在Asp.net中如何遍历一个本地目录下的所有文件并上载到Web 服务器上指定的目录中
- 遍历删除一个目录下所有文件的函数
- Office 2003 VBA 遍历目录下的Excel批量拷贝Sheet 组成一个大的Excel文件
- 递归遍历一个文件目录下的所有文件
- 复制一个文件夹下的所有文件(复制文件、遍历目录)