А есть в новом крестостандарте вменяемые средства сканирования целочисленных типов и типов с плавающим петухом из строки,
с возможностями обнаружить числовые переполнения, некорректные форматы,
с возможностями задать символы разделители и т.п.?
nes
> А есть в новом крестостандарте вменяемые средства сканирования целочисленных типов и типов с плавающим петухом из строки
Старый конь борозды не портит ;)
https://en.cppreference.com/w/cpp/string/byte/strtol
https://en.cppreference.com/w/cpp/string/byte/strtof
nes
в этом деле главное на региональные особенности не влететь, смотри сразу учитывает ли функция настройки системы. Потому как если ты эти строки решишь где-то хранить между запусками программы, то потом начнутся проблемы когда регионы не совпадут.
totoro
Старый конь как раньше ничего не умел, так и теперь не умеет )
Aroch
>в этом деле главное на региональные особенности не влететь
Это вроде только всякие *printf и *scanf трогает.
nes
> Это вроде только всякие *printf и *scanf трогает.
если бы.
локале зависимый способ с исключениями https://en.cppreference.com/w/cpp/string/basic_string/stof
и наоборот https://en.cppreference.com/w/cpp/utility/from_chars
> Старый конь как раньше ничего не умел, так и теперь не умеет
или ты просто не знаешь.
Aroch
>или ты просто не знаешь.
Как минимум он не скажет, где закончил парсить строку.
И не сможет разобрать что-нибудь такое "1_000_000" или "1'000'000".
nes
> Как минимум он не скажет, где закончил парсить строку
Return value
On success, returns a value of type std::from_chars_result such that ptr points at the first character not matching the pattern, or has the value equal to last if all characters match and ec is value-initialized.
Dmitry_Milk
Я про ato* писал.
nes
> Я про ato* писал
Ну так не пользуйся им. Пользуйся stod/stof или from_chars.
Dmitry_Milk
У меня тут на работе поддержка древнего софта, который компиляется только 2008 студией,
приходится воротить свои велосипеды.
приходится воротить свои велосипеды.
Пиши на асме :)
ronniko
Мне крестов хватает.
nes
> У меня тут на работе поддержка древнего софта, который компиляется только 2008 студией,
и в тоже время
> А есть в новом крестостандарте вменяемые средства
Вменяемый программист же :)
Aroch
Ну так просто было интересно узнать что и как в новых стандартах.