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
This commit is contained in:
parent
bdbd654df8
commit
b9babc82dd
1 changed files with 5 additions and 0 deletions
|
@ -11,7 +11,12 @@ namespace fsbridge {
|
||||||
|
|
||||||
FILE *fopen(const fs::path& p, const char *mode)
|
FILE *fopen(const fs::path& p, const char *mode)
|
||||||
{
|
{
|
||||||
|
#ifndef WIN32
|
||||||
return ::fopen(p.string().c_str(), mode);
|
return ::fopen(p.string().c_str(), mode);
|
||||||
|
#else
|
||||||
|
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>,wchar_t> utf8_cvt;
|
||||||
|
return ::_wfopen(p.wstring().c_str(), utf8_cvt.from_bytes(mode).c_str());
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
|
|
Loading…
Add table
Reference in a new issue