一切,我想这样做只是为纯文本的输出一行:C++多国语言的字符串输出
#include
#include
int main(void)
{
std::wstring d=L"string_contains_many_languages_German_Mädchenß_Russian_этотязык_and_ブリザンメント";
std::wcout<
return 0;
}
我听说过的语言环境。但是如果我有多语言用户呢?所以,我不能只坚持一个地区。
它既不能在Linux/Ubuntu中使用g ++编译器也不能在Windows XP中正常工作。
我怀疑这可能不仅取决于C++,还取决于显示此信息和环境的终端。 在Linux中,我可以使用命令touch“ブリザаäЯ”(tilda终端)创建名称为文件的文件。
我不知道是否有可能至少要创建一个名称的文件,我在像d使用C(代码)++字符串意味着
更正:
而且我想做的事情在Windows和Linux上的这些操作
2012-09-13
Tebe
+1
在Linux上,文件名是没有语义不透明的字节序列(简称作为API的空值终止字符串传递)。在Windows中,文件名是16位整数的不透明序列,通常假定(但不是必需)构成UTF-16代码单元。也许[这个小咆哮](http://stackoverflow.com/q/6300804/596781)我的也很有用。 –
+3
这不是一个区域设置问题。区域设置包含诸如小数如何在不同国家表示的方面。你所指的是Unicode与ASCII。你想要做的就是写出Unicode字符,因此'wstring'中的'w'表示宽字符表示。 –
+0
“它既不能正常工作”。当你尝试时发生了什么?它应该在这两种环境中正常工作。 –