【发布时间】:2013-02-19 15:23:41
【问题描述】:
我正在尝试使用 std::istringstream
std::istringstream convertor;
convertor.str(mystring);
convertor >> myint;
如果数字字符串超过(或低于)整数的限制,我想抛出异常,但我不知道最好的方法是什么。我想知道是否有特定于 std::istringstream 的东西或专门为此目的制作的其他东西,还是我必须使用脏(至少看起来脏:))方式与numeric_limits ?
感谢您的帮助。
【问题讨论】:
-
basic_ios可以通过设置内部标志(您必须随后检查)或通过抛出异常来指示各种类别的错误。 en.cppreference.com/w/cpp/io/basic_ios/exceptions -
std::stoi会自动执行此操作。 -
你可能会觉得这很有趣stackoverflow.com/questions/13045693/…