相关疑难解决方法(0)

在C++中使用bool/fail将字符串转换为int

我有一个std::string可能是一个字符串或可能是一个值(如0).

转换std::stringint具有失败能力的最佳或最简单的方法是什么?我想要C#的C++版本Int32.TryParse.

c++ parsing c++-faq

20
推荐指数
4
解决办法
2万
查看次数

强制String到int函数消耗整个字符串

给定一个应该代表数字的字符串,我想把它放入一个转换函数,如果整个字符串没有转换就会提供通知.

输入"12"::

  • istringstream::operator>> 输出12
  • atoi 输出12
  • stoi 输出12

对于输入,"1X"我想要一个失败的响应,但我得到:

  • istringstream::operator>> 输出1
  • atoi 输出1
  • stoi 输出1

输入"X2":

  • istringstream::operator>> 输出0并设置错误标志
  • atoi 输出0
  • stoi 抛出错误

[ 实例 ]

有没有办法在输入上引发错误行为"1X"

c++ string atoi string-conversion extraction-operator

6
推荐指数
1
解决办法
508
查看次数

整数输入验证,怎么样?

我遇到了一个非常简单的代码问题.我想接受1到3之间的整数,并进行错误检查.它适用于检查太大或太小的数字,但是当输入字母/数字组合时,它会陷入无限循环.建议?

#include <iostream>
using namespace std;

int main(int argc, char *argv[]){
    int input;

    cout << "\nPlease enter a number from 1 to 3:" << endl;
    cout << "-> ";
    cin >> input;

    while(input< 1 || input> 3){
        cout << "\n---------------------------------------" << endl;
        cout << "\n[!] The number you entered was invalid." << endl;
        cout << "\nPlease re-enter a number from 1 to 3" << endl;
        cout << "-> ";
        cin >> input;
    }

    cout << "You chose " << input …
Run Code Online (Sandbox Code Playgroud)

c++ error-handling integer infinite-loop

5
推荐指数
1
解决办法
3万
查看次数