c++;,将输入字符串转换为数字时,转换失败不应返回零 < C++ >代码转换> Strtol ,代码> STROTLU/,代码> Strutl < /C> >代码> ATOL 等。 似乎它们中的每一个都会返回一个0(或0.0)作为无法转换的字符串的结果。 假设0对于我的程序来说是一个完全有效的正确输入,我如何避免将无意义字符串转换为零,并使它们抛出一些异常?是否有现成的函数以这种方式执行,或者我必须用自己的一些代码来包装这些函数。 还有谁能解释一下,这些函数设计成这样的原因是什么(为什么要把无意义的字符串解析结果从hones分离到god“0”字符串解析结果)?
失败是通过设置c++;,将输入字符串转换为数字时,转换失败不应返回零 < C++ >代码转换> Strtol ,代码> STROTLU/,代码> Strutl < /C> >代码> ATOL 等。 似乎它们中的每一个都会返回一个0(或0.0)作为无法转换的字符串的结果。 假设0对于我的程序来说是一个完全有效的正确输入,我如何避免将无意义字符串转换为零,并使它们抛出一些异常?是否有现成的函数以这种方式执行,或者我必须用自己的一些代码来包装这些函数。 还有谁能解释一下,这些函数设计成这样的原因是什么(为什么要把无意义的字符串解析结果从hones分离到god“0”字符串解析结果)?,c++,string,numbers,string-parsing,C++,String,Numbers,String Parsing,失败是通过设置errno表示的,这是老式的C方式 您可能会发现stol和朋友更有用-他们通过抛出异常来表示失败 故障通过设置errno表示,这是老式的C方式 您可能会发现stol和朋友更有用-他们通过抛出异常来表示失败 您可以使用函数族来执行此操作。函数将为无效输入引发异常。您可以使用函数族来执行此操作。这些函数将对无效输入引发异常。您可能会发现有用。您可能会发现有用
errno
表示的,这是老式的C方式
您可能会发现stol
和朋友更有用-他们通过抛出异常来表示失败
故障通过设置
errno
表示,这是老式的C方式
您可能会发现stol
和朋友更有用-他们通过抛出异常来表示失败
您可以使用函数族来执行此操作。函数将为无效输入引发异常。您可以使用函数族来执行此操作。这些函数将对无效输入引发异常。您可能会发现有用。您可能会发现有用