无法从 cin.get() 获取 char

2024-04-25

我正在做一些关于 C++ 的初学者练习,这让我很困惑。我可以输入数字,但之后无法选择输入字符,并且会跳到最后一行。

我知道我可以使用 cin >> 符号,但我想知道为什么这不起作用。

#include<iostream>
using namespace std;

int main() {

    cout << "Enter a number:\n";
    int number;
    cin >> number;

    char symbol;
    cout << "Enter a letter:\n";
    cin.get(symbol);

    cout << number << " " << symbol << endl;

    return 0;
}

你应该删除'\n'来自流,输入号码后保留:

std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

没有它,您将读取换行符。你可以用以下方法检查:

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

无法从 cin.get() 获取 char 的相关文章

  • C# 中的 DateTime.Parse 抛出异常

    我不知道为什么抛出异常 这是工作代码 DateTime Parse 1 12 2012 12 00 00 AM 这是抛出异常的一个 DateTime Parse 1 13 2012 12 00 00 AM 抛出的异常是 格式异常 包括此消息
  • 将整数四舍五入到最接近的 10 倍数[重复]

    这个问题在这里已经有答案了 我想弄清楚如何对价格进行四舍五入 双向 例如 Round down 43 becomes 40 143 becomes 140 1433 becomes 1430 Round up 43 becomes 50 1
  • 这个洗牌算法有什么问题吗?

    我一直在做一些休闲假期计算 我的迷你项目是模拟意大利游戏 tomboli 一个关键的组成部分是对以下过程的模拟 游戏由一名男子控制 他拿着一袋 90 个弹珠 编号为 1 到 90 他从袋中随机取出一颗弹珠 每次向玩家喊出弹珠编号 经过一番思
  • 从文本文件中读取所有内容 - C

    我正在尝试从文本文件中读取所有内容 这是我写的代码 include
  • 可空引用类型意外 CS8629 可空值类型对于临时变量可能为空

    在 C 8 项目中 我使用可为 null 的引用类型 并收到意外的 或者至少对我来说意外的 CS8629 警告 bool singleContent x DataInt null bool multiContent x DataNvarch
  • 使用工作表作为数据源的 VSTO Excel 的简单示例

    我想我遇到了 最简单的答案是最难找到的答案 的情况 而且我还没有遇到过任何搜索能够以直接的方式给我这个答案 这是为了Excel 2010 and VS 2010在现有 VSTO C 项目中 我有一个 Excel 工作表 其中包含 4 列数据
  • 如何从 UNC 中提取服务器名称

    谁能告诉我如何从 UNC 中提取服务器名称 ex 服务器名称 目录 目录 编辑 我很抱歉 但看起来我需要澄清一个错误 路径实际上更像是 服务器名 d 目录 我知道这可能会改变一些事情 怎么样Uri Uri uri new Uri serve
  • Python NET 调用具有返回值和输出参数的 C# 方法

    我有以下静态 C 方法 public static bool TryParse string s out double result 我想使用 Python NET 包从 Python 调用它 import clr from System
  • 如何找到 QDockWidget 标题栏的高度?

    我正在尝试找到 a 的高度QDockWidget标题栏 以便对自定义布局进行一些智能调整大小 但标题栏不是单独的小部件 它内置于停靠小部件的私有布局中 并且没有成员可以访问它 还有其他方法可以找到它的高度吗 是的 您可以使用以下命令找到标题
  • 在 Visual Studio 中调试时向后拖动指令指针

    如需演示 请查看 基本上 我知道这在 Visual Studio Community Edition 2015 中是可能的 我想知道 a 这与 Intellitrace 和 历史调试 有关吗 b 这样做会有副作用吗 或者这只是将指令向后移动
  • 从网站保存嵌入的 pdf

    我正在编写一个小型 C 应用程序来管理供应商提供的 化学品 安全数据表 目前 我手动搜索该化学品并保存 pdf 并在我的程序中添加指向 pdf 的链接 问题是我还有很多化学品需要处理 所以最好将过程自动化 例如 化学品的部件号如下 2710
  • 我应该在查询时调用 ToListAsync()

    不久前 我开始接触 C 并正在寻找一些如何编写代码的最佳实践 现在 我正在使用 EF Core 并具有以下代码 var details dbContext Details Where x gt x Name Button foreach v
  • .NET 配置(app.config/web.config/settings.settings)

    我有一个 NET 应用程序 它具有用于调试和发布版本的不同配置文件 例如 调试 app config 文件指向开发SQL服务器 http en wikipedia org wiki Microsoft SQL Server它启用了调试并且发
  • 如何将焦点设置到 Windows 窗体应用程序中的控件?

    在 Windows 窗体应用程序中 when我是否编写代码以在应用程序启动时以及随后调用函数后将焦点设置到控件 例如 如果我有一个 DropDownList 一个 TextBox 和四个按钮 并且我希望将 Focus 设置为 DropDow
  • 如何使用实体框架更新特定记录的一个字段?

    我想要更新一个名叫 Pejman 的人的家庭情况 这是我的对象类 public class Person public int Id get set public string FirstName get set public string
  • 从 WMI 运行 exe 时的网络身份验证

    我有一个 C exe 需要使用 WMI 运行并访问网络共享 但是 当我访问共享时 我收到 UnauthorizedAccessException 如果我直接运行 exe 则可以访问共享 我在这两种情况下都使用相同的用户帐户 我的应用程序有两
  • 接口作为类型约束和接口作为参数之间的区别?

    如果我想创建一个采用实例的方法IList作为参数 或任何其他接口 但让我们使用IList作为一个例子 我可以创建一个带有类型约束的通用方法 例如 public static void Foo1
  • C++ 中的 Ofstream 数组

    我想要在我的项目中使用 41 个输出文件来在其上写入文本 首先创建一个字符串数组list为了命名这些输出文件 然后我尝试定义一个 ofstream 对象数组并使用list命名它们 但我收到此错误 outfile cannot be used
  • 通过 boost::python 将 C++ 对象传递给 python 函数

    我想在 C 应用程序中使用嵌入 python 并调用 python 脚本中定义的函数 该函数的参数是一个 C 对象 看我的代码 class Test public void f std cout lt lt sss lt
  • C 警告函数调用中缺少标记

    这是我的警告 Missing sentinel in function call 我怎样才能删除它 我正在使用 linux 和 gcc 编译器 看来您可能没有终止数组声明NULL 如果没有 null 您可能会遇到一些内存怪异 因为运行时将不

随机推荐

  • 如何让mysql每隔1小时自动运行一次查询?

    我的数据库中有整数值 我想随着时间的流逝而减少它 我该怎么做 您不需要减少该值 您可以只存储基础值并创建一个视图来快速计算该值 像这样的东西 create table hourly base value int starttime date
  • 我在 Golem Shiny 应用程序中使用 {future} 和 {furrr} 函数时收到错误,它来自哪里?

    我目前正在开发一个名为 package name 的 Golem Shiny 应用程序 这是我的要求 我创建的一些函数需要使用来自 furrr and future 包 但是 每当我尝试运行它们时 都会收到以下错误 错误 没有名为 pack
  • jgit - 基于文件扩展名的 git diff

    我正在使用 JGit API https www eclipse org jgit https www eclipse org jgit 访问 git 存储库 在 git 存储库中 我还存储 txt 文件和其他文件格式 我遇到了一个要求 我
  • NetBeans - 将所有内容部署在一个 jar 中[重复]

    这个问题在这里已经有答案了 可能的重复 将外部库放入 JAR 中 https stackoverflow com questions 2034180 put external library to the jar 我有 NetBeans 6
  • 反馈两个进程的stdin和stdout

    我有两个进程通过标准输入和标准输出相互连接 假设我有进程 A 和进程 B B 的标准输出需要输入到 A 的标准输入中 A 的标准输出需要输入到进程 B 的标准输出中 是否有一种简单的方法可以用简单的命令来表达这种关系 或者是否有一个基本的
  • 如何摆脱 Firefox 中用作链接的边框和图像?

    我认为奇怪的问题更多的是我不确定它叫什么 但我有一个包含在链接中的 img example li a href link img a li Now I have the css border rules all to 0 So their
  • 使用 JNDI 在 Tomcat 上设置 WMQ V8 连接工厂

    目前 我们的 Tomcat 配置 JNDI 是基于当前有效的此建议 如何使用 JMS 和 JNDI 连接到 Websphere MQ MQ 系列 服务器 http wiki apache org tomcat HowTo How do I
  • Bitbucket 和 Azure DevOps 之间的集成

    我的要求是我想将我的 Bitbucket 存储库与 Azure DevOps CI 服务器集成 以便一旦我将代码推送到 bitbucket 存储库中 我的管道就会在 Azure DevOps CI 服务器中触发 因为我已经在 Bitbuck
  • 检查用户是否登录ajax页面更改

    作为我正在构建的网络应用程序的一部分 我需要在用户更改页面时检查用户是否已登录 在普通的非ajax站点上 这很容易 因为我可以将PHP会话条件语句放在标头中 并且在每次页面更改时调用的标头将确定是否显示登录页面 但将其视为头文件仅在 aja
  • openssl-使用密钥和 IV 解密 Base64 字符串

    我正在尝试解密已在 openssl 中使用 aes256 加密的 base64 字符串 我获得了会话密钥和 IV 它们是用我的密钥加密的 我将它们转换为十六进制 以便可以使用以下 openssl 命令 openssl enc d aes25
  • 具有专用启动键的 DynamoDB 全球二级索引

    通过全局二级索引查询 DynamoDB 表时是否可以指定独占开始键 我正在使用 aws java sdk 版本 1 6 10 并使用QueryExpression and a DynamoDBMapper 这是我想做的事情的要点 Mappe
  • 将自定义 DQL 函数与 Doctrine 和 Symfony2 一起使用时出错

    我使用 Symfony 2 和 ORM Doctrine 我想创建并注册自定义 DQL 函数 其实我想用SQL函数 CAST http dev mysql com doc refman 5 5 en cast functions html
  • NSNotification 被 UITabBarController 多次调用

    我有一个UITabBarController 有 4 个选项卡 这些选项卡中的每一个都是一个单独的UIViewController 我在这 4 个使用 VC 的每一个上都有对象NSNotification按下某个物体后执行动作 4 个 VC
  • Android 上的热点/网络共享模式下的组播支持

    我有一个原型 Android 应用程序 它正在侦听多播数据包以 发现 要与之通信的客户端 套接字设置类似于 InetAddress group InetAddress getByName 228 1 2 3 MulticastSocket
  • 在 Azure Function App 中配置 Application Insights 的云角色名称

    我想设置从我的 Azure Function App v2 发送到应用程序洞察的遥测数据的 cloud rolename 我的 host json 中的 AI 配置如下所示 applicationInsights sampling isEn
  • 如何解析具有多个小数点的字符串

    我想将诸如 10 0 20 之类的字符串解析为数字 以便比较 C net 中具有相同格式的另一个字符串 例如 我将比较这两个数字 看看哪个数字小于另一个数字 如果 10 0 30 我不确定应该使用哪种解析方法 因为在这种情况下 decima
  • 如何从元组数组创建字典?

    假设我有可以识别的对象数组 并且我想从中创建字典 我可以轻松地从数组中获取元组 如下所示 let tuples myArray map return 0 id 0 但我看不到字典的初始化程序来获取元组数组 我错过了什么吗 我是否已经为此功能
  • 使用 git 在整个文件上“接受他们的”或“接受我的”的简单工具

    我不需要可视化合并工具 而且我也不想必须 vi 冲突文件并手动在 HEAD 我的 和导入的更改 他们的 之间进行选择 大多数时候 我要么想要他们的所有更改 要么想要我的所有更改 通常这是因为我的更改使其上升并通过拉动返回给我 但可能在各个地
  • 等列值数量求和的公式

    给定一个包含两列的电子表格 例如 A 和 B 每列下面包含 n 个值 所有文本 有没有一个公式可以让我只填充一个包含 A 列和 B 列中相等值数量的单元格 Example A B 1 M M 2 L M 3 L L 4 M M 5 M L
  • 无法从 cin.get() 获取 char

    我正在做一些关于 C 的初学者练习 这让我很困惑 我可以输入数字 但之后无法选择输入字符 并且会跳到最后一行 我知道我可以使用 cin gt gt 符号 但我想知道为什么这不起作用 include