c++中输入一个字符,如何辨别这个字符是不是数字。后续需要这个数字进行运算

cin字符后
使用了if功能进行辨别,但是
当我输入22时,他只能2运算一次
再进行一个2的运算

你可以用cin.peek()来查看下一个字符是不是数字,下面时一个简单例子

#include <iostream>
#include <string>

using namespace std;

int main()
{
    while (cin >> ws)
    {
        if (isdigit(cin.peek()))
        {
            int n;
            cin >> n;
            cout << "number: " << n << '\n';
        }
        else
        {
            std::string str;
            cin >> str;
            cout << "string: " << str << '\n';
        }
    }
    return 0;
}

以字符串形式整体读入再判断。