一切,我想這樣做只是爲純文本的輸出一行:C++多國語言的字符串輸出
#include <iostream>
#include <string>
int main(void)
{
std::wstring d=L"string_contains_many_languages_German_Mädchenß_Russian_этотязык_and_ブリザンメント";
std::wcout<<d<<"\n";
return 0;
}
我聽說過的語言環境。但是如果我有多語言用戶呢?所以,我不能只堅持一個地區。
它既不能在Linux/Ubuntu中使用g ++編譯器也不能在Windows XP中正常工作。
我懷疑這可能不僅取決於C++,還取決於顯示此信息和環境的終端。 在Linux中,我可以使用命令touch「ブリザаäЯ」(tilda終端)創建名稱爲文件的文件。
我不知道是否有可能至少要創建一個名稱的文件,我在像d使用C(代碼)++字符串意味着
更正:
而且我想做的事情在Windows和Linux上的這些操作
在Linux上,文件名是沒有語義不透明的字節序列(簡稱作爲API的空值終止字符串傳遞)。在Windows中,文件名是16位整數的不透明序列,通常假定(但不是必需)構成UTF-16代碼單元。也許[這個小咆哮](http://stackoverflow.com/q/6300804/596781)我的也很有用。 –
這不是一個區域設置問題。區域設置包含諸如小數如何在不同國家表示的方面。你所指的是Unicode與ASCII。你想要做的就是寫出Unicode字符,因此'wstring'中的'w'表示寬字符表示。 – Steztric
「它既不能正常工作」。當你嘗試時發生了什麼?它應該在這兩種環境中正常工作。 –