检查输入是否为整数

2023-12-02

为了学习 C++,我正在翻译我用 Python 编写的程序。

我写了这个

n = 0
while n < 2:
    try:
        n = int(raw_input('Please insert an integer bigger than 1: '))
    except ValueError:
        print 'ERROR!'

为了从用户那里得到一个大于1的整数。

这是我目前用 C++ 编写的内容:

int n = 0;
while (n < 2) {
    cout << "Please insert an integer bigger than 1: ";
    cin >> n;
}

我看了一下 try-catch,它看起来非常简单。我关心的是如何检查输入是整数。我读到了 cin.fail() 但我找不到任何官方文档,而且我并没有真正了解它是如何工作的。

那么,如何检查输入是否为整数呢?

更一般地说,我如何检查输入是否为“anything"?


对于这样的情况,您可能希望将输入读取为字符串,然后检查该字符串(例如,“仅包含数字,最多 N 个数字”)。当且仅当它通过检查时,解析int出来了。

也可以将检查和转换结合起来——例如Boostlexical_cast<int>(your_string)将尝试从字符串中解析出 int,如果无法将整个字符串转换为 int,则抛出异常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查输入是否为整数 的相关文章

随机推荐

  • 如何查找显示部署后/执行前错误的 Azure Function 日志?

    更具体地说 我如何确定导致 Azure Function App 无法在门户中显示已部署函数列表的原因 例如 哪些日志以及如何解释它们 我的测试表明它是部署后 执行前 如下所述 我认为这个问题是当我导入某些库并在函数中实例化它们时引起的 我
  • 如何使用 roslyn 删除我的 C# 解决方案中源代码的所有注释?

    我想删除 Roslyn 的 C 解决方案中源代码中的所有注释 但我应该怎么做呢 public void DeleteComment var code File ReadAllText code cs SyntaxTree tree Synt
  • 按坐标查询耗时太长 - 有哪些优化选项?

    我有一个存储事件的表 目前大约 5M 但还会更多 每个事件都有两个我对此查询关心的属性 location 纬度和经度对 和relevancy 我的目标是 对于给定的位置范围 SW NE 纬度 经度对 因此 4 个浮点数 返回前 100 个事
  • 从insert语句获取结果集

    我有下面的代码 我将记录插入到表中 当我尝试获取结果集时 它返回 null 如何将最新添加的行放入结果集中 String sql1 INSERT INTO xxxx dbo xxxxxx WORKFLOW SEQ NBR WORKFLOW
  • 让 Win32 MessageBox 显示在其他程序之上

    我最近开始学习 Python 并编写了一个小脚本 当某个网站更改内容时通知我 然后我将其作为计划任务添加到 Windows 以便它可以每 10 分钟运行一次 我希望立即收到网站更改的通知 因此我添加了一个 win32ui MessageBo
  • 如何处理在分离头中进行的提交

    使用 git 我做了这样的东西 git clone git checkout a rev number tree rev before here I started to be in a detached head state hackin
  • WebSQL:SQLResultSetRowList 中返回的行是否不可变?

    我一直在从 WebSQL 数据库中获取行 并且返回的行似乎是只读的 db readTransaction function t1 t1 executeSql SELECT FROM Foo WHERE id 1 function t2 re
  • React useEffect 抛出错误:无法对已卸载的组件执行 React 状态更新

    我正在为我的 Spotify API 应用程序使用 React Native 当我想从我的服务器获取数据时axios in useEffect因为我想在组件加载时渲染返回的项目 它会抛出错误 Can t perform a React st
  • 嵌入式redis无法启动-ERR不支持的CONFIG参数:notify-keyspace-events

    我使用的是embedded redis 0 6版本和spring session data redis 1 0 1 RELEASE 使用 mvn spring boot run 命令执行 spring boot 之后 tomcat 服务器启
  • AJAX + jQuery 变量不会传递给 PHP

    我正在尝试做一些非常简单的事情 将 2 个文本变量传递给 php 脚本并将它们插入到 MySQL 数据库中 然而 由于某种原因 我无法让变量传递 所以我只是在数据库中得到空记录 function ajaxCall ajax type GET
  • 循环遍历具有冒号分隔字符串的文件

    我有一个如下所示的文件 work week day england work1 week day sweden work2 week day 每次我循环遍历列表时 我都想将每个字符串作为我可以使用的变量 例如 如果我想知道我在哪个位置工作
  • C++ 指针算术怪异

    我发现了我的错误 几个小时后 并将其隔离在以下程序中 问题在于使用指向结构的指针时计算 pst2 变量值的方式 当使用指向 char 的指针时 一切正常 为什么是这样 使用gcc g 版本 Debian 4 4 5 8 4 4 5 对于那些
  • clang-format 使用指示符删除数组定义中的新行

    如果可能的话 我喜欢用指示符定义数组值 enum Mode NONE SPLIT FILES SINGLE FILE INVALID const std string ModeName NONE NONE SPLIT FILES SPLIT
  • 确定 HTML5 数据库内存使用情况

    我正在向我的 Google Chrome 扩展添加 sqlite 支持 以存储历史数据 创建数据库时 需要设置最大大小 我使用了5MB 正如许多示例中建议的那样 我想知道我实际使用了多少内存 例如添加 1000 条记录后 以了解何时达到 5
  • ASP.NET MVC 控制器生命周期

    据我了解 在每个 Web 请求期间不会调用控制器的构造函数 假设这是真的 那么控制器的生命周期是多少 是在应用程序启动时 构造 的 然后通过每个 Web 请求注入的请求上下文进行缓存和调用吗 需要明确的是 我并不是在问如何模拟构造函数行为
  • 使用 Symbolserver 调试 ASP.NET MVC4 的夜间构建

    我使用此描述为我的项目获取 ASP NET MVC 的夜间构建 http blogs msdn com b henrikn archive 2012 06 01 using nightly asp net web stack nuget p
  • Angular2:进度/加载覆盖指令

    我正在尝试在 Angular2 中创建一个加载指示器 覆盖层 我可以将其添加到任何容器 div 中 当动态布尔属性如isLoading更改时 它应该使 div 变灰并显示旋转指示器 并在属性更改回来后再次消失 我得到了一个可行的解决方案 C
  • python requests.get() 返回一个空字符串

    当我运行下面的代码时 它返回一个空字符串 url http www allflicks net wp content themes responsive processing processing us php draw 5 columns
  • 使用 pandoc 将 markdown 转换为 pdf 时如何强制将图像转换为文本

    我制造了一个GitHub 维基百科 软件包手册 我想将其转换为精美的 pdf 手册 然而 我在处理图表时遇到了一些麻烦 其中许多图表都放在接下来的一页中 远远落后于文本中应有的位置 这使得文档非常难以阅读 为此 我基本上遵循了建议here
  • 检查输入是否为整数

    为了学习 C 我正在翻译我用 Python 编写的程序 我写了这个 n 0 while n lt 2 try n int raw input Please insert an integer bigger than 1 except Val