setlocale возвращаемое значение - PullRequest
4 голосов
/ 23 июня 2010

Вызов функции

setlocale(LC_MESSAGES , NULL)

возвращает "" (пустую строку), не ноль или какой-либо языковой стандарт.

почему я получаю это возвращаемое значение?это потому что эта функция не реализована в платформе?

1 Ответ

0 голосов
/ 20 марта 2017

При вводе в setlocale пустая строка "" представляет языковой стандарт среды по умолчанию, который может отличаться от минимального языкового стандарта C, представленного "C". Может случиться так, что setlocale был вызван с пустой строкой, и это способ платформы указать это. Однако можно было бы надеяться или даже ожидать, что возвращаемая строка будет более информативной, например "en_US.UTF8".

Возможно, информация в окружении является некорректной или не поддерживается, и это лучшее, что может сделать система. Возвращаемое значение от предполагаемого вызова к setlocale с пустой строкой в ​​качестве входных данных должно было быть проверено, поскольку сбой в этой точке возвратил бы нулевой указатель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...