0
在windows上使用C++,swprintf語言環境
試圖設置swprintf函數使用的語言環境。
我需要包含打印出的數字的千位分隔符。
我試了幾個選項...
_wsetlocale(LC_NUMERIC, L""); //default locale
也..
_wsetlocale(LC_NUMERIC, L"english");
,當然還有..
swprintf(buf, L"%d", 3546);
我也試圖顯示數字如下
auto locale = _get_current_locale();
_swprintf_l(buf, L"%d", locale, 3546);
我需要得到千位分隔符,即3456
我還放置一個斷點看到locale
變量的值,它包含了lconv
結構與正確設置爲,
...然而,標準的swprintf千位分隔符正在無視它。
同樣的結果,語言環境有「,」你當我打破並觀看'語言環境',但是swprintf會忽略它:( –
我使用廣泛的刺痛,'if(swprintf(buf,L'%'d',12345)> 0)'' 'd',而不是號碼 –
感謝您的更新。我在Win32上使用C++。您的示例'「%d」'正在打印文字''d'並且沒有編號 –