如何使用C或C ++获取UTF-8目录中的UTF-8文件列表?

时间:2017-03-02 00:02:07

标签: c++ file utf-8 directory

我最终在这里

How can I get the list of files in a directory using C or C++?

恐怕没有一个代码支持UTF-8。我稍微修改了Bad的代码以接受UTF-8目录。

//#define BOOST_FILESYSTEM_VERSION 3
#include <string>
#include <iostream>
#include <boost/filesystem.hpp>
#include <boost/filesystem/detail/utf8_codecvt_facet.hpp>

using namespace std;
using namespace boost::filesystem;

int main()
{
    boost::filesystem::detail::utf8_codecvt_facet utf8;
    boost::filesystem::path p;
    p.assign(u8"C:\\", utf8);

    for (auto i = directory_iterator(p); i != directory_iterator(); i++)
    {
        if (!is_directory(i->path())) //we eliminate directories
        {
            cout << u8"Fil:" + i-> path().filename().string() << endl;
        }
        else
        {
            cout << u8"Dir:" + i-> path().filename().string() << endl;
        }
    }
}

但我不知道如何输出UTF-8文件。

0 个答案:

没有答案