我有一个std::string可能是一个字符串或可能是一个值(如0).
转换std::string为int具有失败能力的最佳或最简单的方法是什么?我想要C#的C++版本Int32.TryParse.
给定一个应该代表数字的字符串,我想把它放入一个转换函数,如果整个字符串没有转换就会提供通知.
输入"12"::
istringstream::operator>> 输出12atoi 输出12stoi 输出12对于输入,"1X"我想要一个失败的响应,但我得到:
istringstream::operator>> 输出1atoi 输出1stoi 输出1输入"X2":
istringstream::operator>> 输出0并设置错误标志atoi 输出0stoi 抛出错误[ 实例 ]
有没有办法在输入上引发错误行为"1X"?
我遇到了一个非常简单的代码问题.我想接受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)