fix:修正宽字符的编译
This commit is contained in:
parent
1d86de126a
commit
cd1d5bfc64
@ -81,9 +81,12 @@ ofString COfPath::get_home()
|
|||||||
std::size_t len = 0;
|
std::size_t len = 0;
|
||||||
// _dupenv_s() 在 Visual Studio 2008 的 CRT (msvcr90) 中引入的,似乎没有进入系统 CRT (msvcrt)。
|
// _dupenv_s() 在 Visual Studio 2008 的 CRT (msvcr90) 中引入的,似乎没有进入系统 CRT (msvcrt)。
|
||||||
// mingw-w64 GCC 通常默认只链接到系统 CRT,所以所以找不到这个符号。
|
// mingw-w64 GCC 通常默认只链接到系统 CRT,所以所以找不到这个符号。
|
||||||
|
|
||||||
#if defined(__MINGW32__) || defined(__MINGW64__)
|
#if defined(__MINGW32__) || defined(__MINGW64__)
|
||||||
|
#ifdef UNICODE_OFSTR
|
||||||
|
ofChar* homedir = _wgetenv(ofT("USERPROFILE"));
|
||||||
|
#else
|
||||||
ofChar* homedir = getenv("USERPROFILE");
|
ofChar* homedir = getenv("USERPROFILE");
|
||||||
|
#endif
|
||||||
if (homedir) {
|
if (homedir) {
|
||||||
return ofString(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)
|
bool COfPath::write(const ofString& path, const char* data, int len)
|
||||||
{
|
{
|
||||||
std::ofstream file(path, std::ios::binary);
|
FILE* f = nullptr;
|
||||||
if (!file.is_open()) {
|
#ifdef UNICODE_OFSTR
|
||||||
|
f = _wfopen(path.c_str(), ofT("wb"));
|
||||||
|
#else
|
||||||
|
f = fopen(path.c_str(), ofT("wb"));
|
||||||
|
#endif
|
||||||
|
if (!f) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
file.write(data, len);
|
fwrite(data, 1, len, f);
|
||||||
file.close();
|
fclose(f);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user