Функция есть в Windows, Mac, BSD, но нет почему-то в Linux
Та которая стандартная swprintf зависит от текущей локали, что очень не хорошо. Каждый раз переключать глобальную локаль ну очень бы не хотелось, да и не безопасно в многопоточной среде.
А задача весьма простая — быстро конвертировать тип double в std::wstring и дробный разделитель должен быть всегда точкой независимо от текущей локали.
Здравствуйте, chipmunk, Вы писали:
C>Функция есть в Windows, Mac, BSD, но нет почему-то в Linux
C>Та которая стандартная swprintf зависит от текущей локали, что очень не хорошо. Каждый раз переключать глобальную локаль ну очень бы не хотелось, да и не безопасно в многопоточной среде.
C>А задача весьма простая — быстро конвертировать тип double в std::wstring и дробный разделитель должен быть всегда точкой независимо от текущей локали.
Здравствуйте, chipmunk, Вы писали:
C>Та которая стандартная swprintf зависит от текущей локали, что очень не хорошо. Каждый раз переключать глобальную локаль ну очень бы не хотелось, да и не безопасно в многопоточной среде.
Уверен, что в линуксе локаль у процесса ? В Windows локаль у потока, так что переключать ее там вполне безопасно.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Уверен, что в линуксе локаль у процесса ? В Windows локаль у потока, так что переключать ее там вполне безопасно.
Даже если и безопасно, каждый раз ее переключать и восстанавливать получается еще медленнее чем с помощью stringstream.
Может кто знает какие библиотеки которые умеют очень быстро конверировать число в строку и наоборот.
Здравствуйте, chipmunk, Вы писали:
C>Здравствуйте, Pavel Dvorkin, Вы писали:
PD>>Уверен, что в линуксе локаль у процесса ? В Windows локаль у потока, так что переключать ее там вполне безопасно.
C>Даже если и безопасно, каждый раз ее переключать и восстанавливать получается еще медленнее чем с помощью stringstream.
C>Может кто знает какие библиотеки которые умеют очень быстро конверировать число в строку и наоборот.
Здравствуйте, chipmunk, Вы писали:
C>Даже если и безопасно, каждый раз ее переключать и восстанавливать получается еще медленнее чем с помощью stringstream.
C>Может кто знает какие библиотеки которые умеют очень быстро конверировать число в строку и наоборот.
C>А задача весьма простая — быстро конвертировать тип double в std::wstring и дробный разделитель должен быть всегда точкой независимо от текущей локали.
Когда мне понадобилось использовать точку в качестве разделителя, то я поступил так (работает и в windows и в linux)