列出目录C +中的文件夹

约翰诺国王

我知道这很可能是重复的。但是,我正在努力获得一个切实可行的答案。

我想做的是列出工作目录中的所有文件夹。以下是我从MS网站(http://msdn.microsoft.com/zh-cn/library/windows/desktop/aa365200(v=vs.85).aspx改编而成的一些代码

这给出了输出:

Filname:52428

我已经检查了文件夹-我想列出三个文件夹,但我'Vidoe' 'John' 'David'不确定为什么要打印出上面的结果。

我不想使用Boost-也不想下载任何第三方插件。

int main(int argc, char** argv) 
{   
    HANDLE hFind = INVALID_HANDLE_VALUE;
    WIN32_FIND_DATA ffd;
//The Directory where the .exe is run from.

    hFind = FindFirstFile(TEXT(".\\Players\\*"), &ffd);
    do
    {
        Sleep(1000);
        bool isDirectory = ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
        if(isDirectory)
        {
            cout << "DirectoryName: " << *ffd.cFileName << endl;
        }
        else
        {
            cout << "FileName: " << *ffd.cFileName << endl;
        }
    }while(FindNextFile(hFind, &ffd) != 0);
    FindClose(hFind);
}

编辑:我没有一个特定的方法,我想要做的是,我只想在目录中输出Folders-我不在乎它是如何完成的。

干杯和hth。-阿尔夫

在 …

*ffd.cFileName

删除*


同时删除对的呼叫Sleep


还要删除愚蠢的TEXT宏调用,使用诸如的宽字符串文字L"blah"


哦,我忘记了,也请do用一个while循环(或一个for循环)替换该循环,因为不确定FindFirstFile调用是否会成功。


哦,重要的是,对于debug输出wcout,请不要使用cout后者对Unicode字符串的输出一无所知。但是wcout可以处理它们。

您得到的输出,

52428

似乎是wchar_t值0xCCCC,被视为整数cout,该值表示未初始化的存储,这意味着FindFirstFile调用失败。


因此,在运行程序时,还要确保当前目录。一个好主意是从命令行运行它。那你确定。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在目录中查找文件夹,而不列出父目录

目录中的Python文件夹名称

列出文件夹中的所有文件以及子文件夹

列出文件夹中的所有文件ID(无子文件夹)

在C#目录中列出大量文件

目录文件夹中的文件日期

如何在python中列出包含特定模式文件的文件夹/目录?

在Haxe的文件夹中查找并列出所有文件/文件夹

列出目录中的所有文件夹(PHP)

在我的应用程序的资产目录中列出所有文件和文件夹(以及子文件夹),并检查资产是文件还是文件夹

列出SQL Server父文件夹中的所有文件夹子目录

在目录中创建多个文件夹

列出目录中ID不是Google Drive API v3和C#中特定值的文件夹

在目录中打开文件夹

遍历文件夹中的文件(C ++)

目录中的文件夹数(递归)

如何仅列出遵循特定目录中公共模式的某些目录的文件夹权限?

在父目录中包括文件夹

列出R中没有子文件夹的文件夹中的所有文件

列出特定文件夹中的文件

在Unix C ++中的文件夹根目录中列出文件和目录

列出C中给定路径中的文件夹,子文件夹和文件(Windows)

在Qt C ++中列出带有Qtreewidget的文件夹

Shell脚本列出文件夹中的所有目录并为每个目录运行命令

如何仅列出指定目录中的文件夹?

列出目录中的所有文件夹,忽略任何其他文件

从目录中获取文件夹名称

如何列出 Google Drive 根文件夹中的文件和文件夹

防止在 Go 公用文件夹中列出目录