atof, strtod и локаль.
Jan. 22nd, 2012 10:36 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Внезапно: а вот как положено в коде на С конвертить строку в double, если мы точно знаем, что в строке десятичный разделитель ".", и точно знаем, что код будут запускать на системе с адовыми локалями, у которых разделитель "," типа русской, белорусской итд?
В дотнете, как положено, есть функция с параметром для локали и инвариантная локаль InvariantCulture.
А в олдскульно-кошерном C как?
setlocale(LC_NUMERIC,"C"); чо-то не рекомендуют, говорят, не thread-safe.
no subject
Date: 2012-01-22 08:36 pm (UTC)если специально вызвать setlocale, то всё "ломается".
Блин.