From b9babc82dd6a0a4f6f623fcbe5330962eb37eccf Mon Sep 17 00:00:00 2001 From: Chun Kuan Lee Date: Thu, 26 Jul 2018 21:39:13 +0800 Subject: [PATCH] utils: Use _wfopen and _wreopen on Windows The fopen function does not support unicode filename on Windows, so use Windows specific function do deal with it --- src/fs.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/fs.cpp b/src/fs.cpp index 2dbc13643..a34a88216 100644 --- a/src/fs.cpp +++ b/src/fs.cpp @@ -11,7 +11,12 @@ namespace fsbridge { FILE *fopen(const fs::path& p, const char *mode) { +#ifndef WIN32 return ::fopen(p.string().c_str(), mode); +#else + std::wstring_convert,wchar_t> utf8_cvt; + return ::_wfopen(p.wstring().c_str(), utf8_cvt.from_bytes(mode).c_str()); +#endif } #ifndef WIN32