扫描给定目录中包含非英文字母的文件夹 这里是用C++ 2011编写的函数(VS);我使用这个函数来获取每个目录中每个文件的扩展名和大小。我的问题是,如果有一个以非英文字母命名的文件夹,它将无法打开该文件夹来搜索扩展名。如果有人能帮我解决这个问题,我将不胜感

扫描给定目录中包含非英文字母的文件夹 这里是用C++ 2011编写的函数(VS);我使用这个函数来获取每个目录中每个文件的扩展名和大小。我的问题是,如果有一个以非英文字母命名的文件夹,它将无法打开该文件夹来搜索扩展名。如果有人能帮我解决这个问题,我将不胜感,c++,path,directory,filesystems,C++,Path,Directory,Filesystems,扫描给定目录中包含非英文字母的文件夹 这里是用C++ 2011编写的函数(VS);我使用这个函数来获取每个目录中每个文件的扩展名和大小。我的问题是,如果有一个以非英文字母命名的文件夹,它将无法打开该文件夹来搜索扩展名。如果有人能帮我解决这个问题,我将不胜感激 void scan(path const& f) { directory_iterator d(f); directory_iterator e; for (; d != e; ++d) {

扫描给定目录中包含非英文字母的文件夹

这里是用C++ 2011编写的函数(VS);我使用这个函数来获取每个目录中每个文件的扩展名和大小。我的问题是,如果有一个以非英文字母命名的文件夹,它将无法打开该文件夹来搜索扩展名。如果有人能帮我解决这个问题,我将不胜感激

void scan(path const& f)
{
    directory_iterator d(f);
    directory_iterator e;
    for (; d != e; ++d)


    {
            string ext = d->path().extension();
            _ULonglong size = file_size(d->path());
            if (is_directory(d->status())) 
                scan(d->path());
    }

}

我猜你是在用那个?另外,您的系统区域设置(语言)是什么?程序中的区域设置是什么?#在此处包含区域设置(“”);可以(在这里)灌输//Canadat这可能是镜像Boost FileSystem v2的TR2实现。感谢您的回答MSalters,但是有替代方案吗?