fix:修正宽字符的编译

This commit is contained in:
taynpg 2025-01-03 10:55:17 +08:00
parent 1d86de126a
commit cd1d5bfc64

View File

@ -81,9 +81,12 @@ ofString COfPath::get_home()
std::size_t len = 0;
// _dupenv_s() 在 Visual Studio 2008 的 CRT (msvcr90) 中引入的,似乎没有进入系统 CRT (msvcrt)。
// mingw-w64 GCC 通常默认只链接到系统 CRT,所以所以找不到这个符号。
#if defined(__MINGW32__) || defined(__MINGW64__)
#ifdef UNICODE_OFSTR
ofChar* homedir = _wgetenv(ofT("USERPROFILE"));
#else
ofChar* homedir = getenv("USERPROFILE");
#endif
if (homedir) {
return ofString(homedir);
}
@ -147,12 +150,17 @@ bool COfPath::exist(const ofString& path)
bool COfPath::write(const ofString& path, const char* data, int len)
{
std::ofstream file(path, std::ios::binary);
if (!file.is_open()) {
FILE* f = nullptr;
#ifdef UNICODE_OFSTR
f = _wfopen(path.c_str(), ofT("wb"));
#else
f = fopen(path.c_str(), ofT("wb"));
#endif
if (!f) {
return false;
}
file.write(data, len);
file.close();
fwrite(data, 1, len, f);
fclose(f);
return true;
}