我試圖用美國或英國語言環境字符串實例化std::locale
對象。
Both std::locale loc("en_US")
and std::locale loc("en_GB")
throw a bad locale name runtime exception。使用""
或"C"
創建區域設置正常工作;不過,我在設置單個國家/地區區域時遇到問題。爲什麼std :: locale loc(「en_US」)會引發異常?
我想這樣做的原因是單元測試的目的,以確保字符串排序方法的集合正常工作。
我還應該指出,我在使用Visual Studio 2008的Windows中進行編碼,如果可能,我想保持我的代碼跨平臺。
我發現我的VC++速成2012現在可以接受 「EN-US」,但仍然拋出的 「EN_US」 。 – 2013-11-28 07:52:57