5
我正在修復一些使用strerror
(非線程安全)的多線程的Linux代碼。我發現strerror_r
和strerror_l
都是線程安全的。由於strerror_r
的不同定義(取決於_GNU_SOURCE
它有不同的定義)我想使用新的strerror_l
函數,但是我應該如何獲取當前語言環境的locale_t
對象?我沒有使用iconv
或任何東西,只是簡單的libc,我不明白我如何獲得「默認區域設置」對象(我不在乎打印錯誤的語言,我只想要一個人類可讀的字符串。)如何在當前語言環境中使用strerror_l?