C локаль вопросы

У меня есть несколько вопросов, но я нигде не могу найти прямой ответ.

Итак, в основном, я знаю, что такое локаль, я знаю, как ее использовать (установить), но я не знаю, что это

  1. как работа за сценой, и я бы очень хотел это знать. Итак, когда я использую функции для ввода-вывода, скажем, например, scanf do float, когда мне нужно решить, использовать ли страну десятичную запятую или запятую (я на самом деле от десятичной запятой страна :)),

  2. функция scanf "смотрит", чтобы проверить текущую локаль?

  3. Но если я не установил его в своем коде, создает ли он по умолчанию какую-то стандартную локаль, или ИЛИ получает ее из ОС?

  4. Например, в части кода, когда вы получаете дескриптор консоли для stdout stderr и stdin?

7 голосов | спросил B.Gen.Jack.O.Neill 27 J000000Wednesday11 2011, 18:34:29

1 ответ


0

По умолчанию ваша программа будет иметь локаль C.

Когда вы запускаете setlocale(LC_ALL,"");, вы устанавливаете локаль из внешней среды (или вы можете установить только части LC_*)

Вызвав setlocale(LC_ALL,"specific_locale");, вы установите конкретную локаль.

Все функции ввода-вывода должны соответствовать текущей локали (стандартные функции ввода-вывода C).

Поведение за кодом зависит от используемой операционной системы и компилятора.

ответил Let_Me_Be 27 J000000Wednesday11 2011, 18:46:02

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132