2010-06-23 87 views
4

調用該函數的setlocale返回值

setlocale(LC_MESSAGES , NULL) 

返回「」(空字符串)不爲空或任何語言環境。

爲什麼我得到這個返回值?

是因爲這個功能沒有在平臺上實現嗎?

回答

0

輸入到setlocale時,空字符串""表示環境的默認語言環境,該語言環境可能與"C"表示的最小C語言環境不同。這可能是setlocale已被調用空字符串,這是平臺的方式來表明。但是,人們希望或者甚至期望返回的字符串更具信息性,例如"en_US.UTF8"

也許環境中的信息不健全或不被支持,這是系統可以做的最好的。從空的字符串作爲輸入的聲明調用setlocale的返回值應該已經被檢查過,因爲那時的失敗將返回一個空指針。