利用FindFirstFile()和FindNextFile()历遍文件夹的问题
int main()
{
int FileNumber=0;
bool next=true;
LPCTSTR lpFileName=L".\\*.*";
WIN32_FIND_DATA FileData;
HANDLE hFind;
hFind = FindFirstFile(lpFileName,&FileData);
++FileNumber;
if(hFind == INVALID_HANDLE_VALUE) return 0;
while(next)
{
wcout<<'#'<<setw(3)<<setiosflags(ios::left)<<FileNumber<<' '<<FileData.cFileName<<endl;
next = FindNextFile(hFind,&FileData);
++FileNumber;
}
system("pause");
return 0;
}Q1:hFind == INVALID_HANDLE_VALUE 这个情况什么时候会出现,即使是空文件夹也不会返回这个值。
Q2:每次都会返回 “.” 和 “..” 这两个文件名,各代表什么意思?
Q3:如何判断文件夹和无后缀的文件,即得到文件名"AAAA",我如何知道AAAA是一个文件或是一个文件夹?
Q4:如何输出包含中文的文件名?上述代码无法输出中文。
问题略多了点,还望大家不吝赐教~
...全文
相关推荐
API函数FindFirstFile和FindnextFile非递归来查找指定的文件
说明:利用STL中的queue来存储文件夹名,文件,总共有两个队列,实现非递归来查找指定的文件。 其实就是找到一个文件夹就加入文件夹队列,找到了指定文件就加入文件队列 当在当前文件夹已经搜索完,就让文件夹队列里的队头文件夹名出队列。直到文件夹队列为空。 结果放在d:\\scan_result.txt,你也可以自己修改输出的路径
C++遍历文件夹下的所有文件
使用C++遍历文件夹下的所有文件,FindFirstFile和FindNextFile的使用方法。
精选_使用FindFirstFile和FindNextFile函数实现文件搜索遍历_源码打包
使用FindFirstFile和FindNextFile函数实现文件搜索遍历
FindFirstFile
FindFirstFile函数功能描述,及改函数的用法,示例代码
vs2017 下 windows C/C++ 删除文件夹以及文件夹里的所有文件,遍历嵌套删除文件及文件夹
vs2017 下 windows C/C++ 删除文件夹以及文件夹里的所有文件,遍历嵌套删除文件及文件夹


新手乐园
