Вызов функцииSetlocale возвращаемого значения
setlocale(LC_MESSAGES , NULL)
возвращает «» (пустая строка) не Null или любой локали.
Почему я получаю это возвращаемое значение?
Это потому, что эта функция не реализована на платформе?
Вызов функцииSetlocale возвращаемого значения
setlocale(LC_MESSAGES , NULL)
возвращает «» (пустая строка) не Null или любой локали.
Почему я получаю это возвращаемое значение?
Это потому, что эта функция не реализована на платформе?
При вводе setlocale
пустая строка ""
представляет собой локаль по умолчанию для среды, которая может отличаться от минимальной локали C, представленной "C"
. Возможно, что setlocale
был вызван с пустой строкой, и это способ отображения этой платформы. Однако можно было бы надеяться или даже ожидать, что возвращаемая строка будет более информативной, например "en_US.UTF8"
.
Возможно, информация в окружающей среде плохо сформирована или не поддерживается, и это лучшее, что может сделать система. Возвращаемое значение от предполагаемого вызова до setlocale
с пустой строкой в качестве входного файла должно быть проверено, поскольку сбой в этой точке вернул бы нулевой указатель.