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

C++ 将文件夹中文件写入list.txt文件中

2015-06-16 10:05 267 查看
相关内容 C++如何读取文件夹中文件

/article/9770141.html

C++代码如下 搜索文件夹中全部文件时(*.*)

bool flag=true;
int optional=0;

while (flag) {
string path;
cout<<"输入路径:(xx\\xx\\)";
cin>>path;

char fileName[1024];
strcpy(fileName, path.c_str());
strcat(fileName, "*.bmp");
HANDLE file;
LPCTSTR lpFileName=fileName;
WIN32_FIND_DATA pNextInfo;
file=FindFirstFile(lpFileName, &pNextInfo);
if (file == INVALID_HANDLE_VALUE)
{
cout<<"搜索失败"<<endl;
system("pause");
exit(0);
}

char listpath[1024];
strcpy(listpath, path.c_str());
strcat(listpath, "list.txt");
ofstream fout(listpath);
if (!fout.is_open())
{
cout<<"can not open the file "<<listpath<<endl;
system("pause");
exit(0);
}

while (FindNextFile(file, &pNextInfo))
{
if (pNextInfo.cFileName[0] == '.')
continue;
cout<<"得到文件:"<<pNextInfo.cFileName<<endl;
fout<<pNextInfo.cFileName<<endl;
}

fout.close();
cout<<"继续还是结束:(1 or 0)";
cin>>optional;

if (optional != 1)
flag=false;
}


搜索特定文件时 (*.jpg)

int count=0;//计数器
bool flag=true;
int optional=0;

while (flag) {
string path;
cout<<"输入路径:(xx\\xx\\)";
cin>>path;

char listpath[1024];
strcpy(listpath, path.c_str());
strcat(listpath, "list.txt");
ofstream fout(listpath);
if (!fout.is_open())
{
cout<<"can not open the file "<<listpath<<endl;
system("pause");
exit(0);
}

char fileName[1024];
strcpy(fileName, path.c_str());
strcat(fileName, "*.jpg");
HANDLE file;
LPCTSTR lpFileName=fileName;
WIN32_FIND_DATA pNextInfo;
file=FindFirstFile(lpFileName, &pNextInfo);
if (file == INVALID_HANDLE_VALUE)
{
cout<<"搜索失败"<<endl;
system("pause");
exit(0);
}

cout<<"得到文件:"<<pNextInfo.cFileName<<endl;
fout<<pNextInfo.cFileName<<endl;
count++;
while (FindNextFile(file, &pNextInfo))
{
if (pNextInfo.cFileName[0] == '.')
continue;
cout<<"得到文件:"<<pNextInfo.cFileName<<endl;
fout<<pNextInfo.cFileName<<endl;
count++;
}

cout<<"count == "<<count<<endl;
count = 0;
fout.close();
cout<<"继续还是结束:(1 or 0)";
cin>>optional;

if (optional != 1)
flag=false;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: