我有一个使用 utf-8 编码的宽字符串处理文件 I/O 的应用程序。
工作代码:
const wchar_t* wc = L"C:\Documents\TestPath\TestFile.txt";
std::wfstream wf(wc);
wf.imbue(std::locale(wf.getloc(), new std::codecvt_utf8<wchar_t, 0x10ffff, std::consume_header>()));
return wf.is_open();
...
wf << L"測試文件夾" << L"\n";
但是,一旦在文件路径中引入了 unicode 字符,文件将不再正确打开。IE。以下代码不起作用并返回 false:
const wchar_t* wc = L"C:\Documents\測試文件夾\TestFile.txt";
std::wfstream wf(wc);
return wf.is_open();
我在这里做错了什么?似乎应该有一种简单的方法来让 wfstream 与 unicode 文件路径一起工作,但我已经在互联网上进行了搜索,但找不到。
谢谢