gpt4 book ai didi

c++ - 检查用户是否向 int var 输入了一个 float ?

转载 作者:行者123 更新时间:2023-11-27 23:33:02 27 4
gpt4 key购买 nike

我有一个 int 变量;并使用 cin,但如何检查用户是否输入了 float 或为我提供此问题的解决方案?

最佳答案

没有简单的方法可以做到这一点。通过 >> 运算符 输入实际上不是为了与可能输入错误内容的人进行交互。您必须将输入作为字符串读取,然后使用 strtol 之类的函数或您自己的手动代码对其进行检查。

这是使用 strtol 的方法的概述:

#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;

bool GetInt( istream & is, int & n ) {
string line;
if ( ! getline( is, line ) ) {
return false;
}
char * ep;
n = strtol( line.c_str(), & ep, 10 );
return * ep == 0;
}


int main() {
int n;

while(1) {
cout << "enter an int: ";
if ( GetInt( cin, n ) ) {
cout << "integer" << endl;
}
else {
cout << "not an integer" << endl;
}
}
}

关于c++ - 检查用户是否向 int var 输入了一个 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3403632/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com