#include <charconv>
#include <iostream>
#include <string>
#include <string_view>
int main()
{
std::string string = "6.5";
std::string_view view{ string };
int result;
const auto input_begin = view.data();
const auto input_end = view.data() + view.size();
const auto conversion_result = std::from_chars(input_begin, input_end, result);
//ptr не указывает на конец input - значит в строке что-то осталось.
if (conversion_result.ec == std::errc::invalid_argument || conversion_result.ptr != input_end)
{
std::cout << "Error: " << conversion_result.ptr << std::endl;
}
else
{
std::cout << "Ok: " << conversion_result.ptr << std::endl;
}
return 0;
}
Comments
0 B
|👍
/👎