Windows-related C++ вопрос!Почему _tcstod использует настройки моего региона Windows при разборе строки?
Я пытаюсь использовать _tcstod() для синтаксического анализа строки для получения значения поплавка. Обычно, если я называю
wchar_t* endPtr;
float result = static_cast<float>(_tcstod("12.345678", &endPtr));
Я получаю значение с плавающей точкой в 12.345678 и endPtr ведет себя, как ожидалось. Это действительно неправильно, если я изменил свой региональный десятичный разделитель в настройках региона и языка Windows. В частности, если я изменил десятичный разделитель на «.» to ",", вдруг _tcstod возвращает только значение 12, а не все. Что-нибудь после. отрубается.
Есть ли какой-то способ для синтаксического анализа значения поплавка из строки, будучи агностиком для настроек моего региона?