1

我正在尝试使用 wofstream 和 wstring 将日语写入文件。g++不幸的是,当使用or clang++(in WSLand )编译时 wofstream 不会将日文字符写入文件Windows 10而没有附加标志。

#include <fstream>

int main() {
    std::wofstream file("file.txt");
    std::wstring str = L"Onee-chan, Ohayou!";
    file << str;
}

文件.txt

Onee-chan, Ohayou!

但,

#include <fstream>

int main() {
    std::wofstream file("file.txt");
    std::wstring str = L"お姉ちゃん、おはよう!";
    file << str;
}

file.txt0 bytes大小。

但是当使用以下代码使用MSVC编译时,

#include <fstream>

int main() {
    std::ofstream file("file.txt");
    std::string str = "お姉ちゃん、おはよう!";
    file << str;
}

file.txt有:
お姉ちゃん、おはよう!

希望我的应用程序同时在 linux 和 Windows 上运行。msvc它适用于带有(使用string,charfstreams [这很好])的窗口。我不认为MSVC是在 linux 上,因此我尝试使用wstring,wchat_twfstreams g++(在WSL和 Windows cmd 中),但他们不会将日语写入文件。

关于如何度过这个难关的任何建议。

(例如:msvc喜欢g++(首选)的设置或代码中的任何更改(非首选))

4

0 回答 0