如何在先前输入后使用 C++ 中的“获取”函数?

2024-04-08

我尝试输入数据gets()函数,但每当程序执行到留置权时gets,它会忽略它。

当我使用gets()没有之前的数据输入,它可以正常运行。但是当我在输入数据后使用它时,就会出现问题。

这是在先前的数据输入之后使用它的代码(因此在执行中我无法将数据输入到字符串):

int main() {
    char str[255];
    int a = 0;
    cin >> a;
    if(a == 1) {
        gets(str);
        cout << "\n" << str << endl;
    }
}

我该如何解决这个问题?

注意:cin.getline 也会发生同样的情况


After

cin >>a

当你输入a然后输入,还有一个\n留下的字符cin,因此,当您使用cin.getline() or gets(str)它会读取换行符。

尝试以下操作:

cin >>a;
cin.ignore(); //^^this is necessary
if(a==1){
    gets(str);
}

你最好使用 C++ 方式读取输入:

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

如何在先前输入后使用 C++ 中的“获取”函数? 的相关文章

随机推荐

  • 如何/应该使用 Mockito 对 EventBus 事件进行单元测试?

    我在 Android 应用程序中使用 Otto 的 EventBus In my LoginNetworkOperation类中 我捕获了不同类型的网络连接错误 并为每个错误发布了不同的总线事件 并且我的LoginPresenter当这些事
  • Google Apps 脚本/表返回错误请求 400

    我有一个在 Google Sheet 上运行的相当简单的脚本 该脚本接受 Webhook POST 并将 Webhook 的内容写入电子表格中的新行 该脚本按预期运行 并在收到数据时写入新行 但是 由于某种原因 我发送 webhook 的应
  • 如何从firebase实时数据库中删除?

    I am using Firebase realtime database in Android app and have data like this 如何删除 Apple 记录 如图所示 根据文档 要删除您调用的项目移除值 关于参考 但
  • 运行打包代码时出现 KeyError: 0L

    我有一个名为rra py具有以下骨架结构 usn usnl from bs4 import BeautifulSoup import re import asys import glob import os import sys impor
  • 如何检索数据库(如雪花或任何此类数据库)中的所有目录名称、模式名称和表名称?

    我需要删除一些列并将雪花表中的数据大写 为此 我需要循环遍历所有目录 数据库 其各自的模式 然后是表 我需要在 python 中列出目录模式 然后列出表 然后我将执行 SQL 查询来执行操作 如何继续 1 列出所有目录名称 2 列出所有模式
  • Python:测试空集交集而不创建新集

    我经常发现自己想要测试两个集合的交集而不使用交集的结果 set1 set 1 2 set2 set 2 3 if set1 set2 print Non empty intersection else print Empty interse
  • URL 中的 CSS 选择器

    当你有这样的网址时www example com signup 浏览器所做的只是将其视图集中在具有 id 的 HTML 元素上signup 是对的吗 如果元素以这种方式聚焦 是否可以更改其 CSS 样式 E g 假设我有一个 div 元素
  • 基于 IP 和引荐来源网址的 PHP 重定向

    我正在尝试根据用户的 IP 和空白引荐来源网址将我的网络中的用户重定向到我们网站上的特定登录页面 该代码可以工作 但最终会陷入重定向循环 如何打破重定向循环以正确重定向用户 谢谢 visitor SERVER HTTP REFERER cl
  • Matplotlib 依赖滑块

    我想通过选择三角形的权重来选择三角形的一个点 这应该通过控制 2 个滑块来完成 matplotlib widgets Slider 这两个滑块表示定义点的三个权重中的两个 第三个权重很容易计算为1 0 slider1 slider2 现在很
  • wcf 配置文件与代码配置的优缺点

    我有一个自托管 C WCF 服务 它为各种目的创建 20 多个端点 每个都在代码本身中配置 并在服务的 app config 中使用一些基本配置项 例如端口和地址 该服务对于经过测试的客户来说效果很好 但尚未经过广泛测试 我对标准 wcf
  • 休眠:刷新、驱逐、复制和刷新

    我希望我知道这个列表中的每个项目到底是什么 它是如何工作的 后果是什么以及什么时候是正确的使用时间 Refresh Evict 复制 Flush 我什至想知道每个人的作用 但我不太确定 所以我请求你的帮助 因为我真的很想了解它 我知道这是一
  • 使用 Javascript SDK 创建 Parse.File

    我遵循了法律条文 Javscript SDK 以及许多变体 但到目前为止我还无法将图像保存到 Parse File 我开始认为这是他们在放弃平台之前从未完成的代码 这是我的错误 无法构造 文件 需要 2 个参数 但仅存在 0 个 这是我的代
  • Rails/PostgreSQL - 查询更新所有日期添加 1 天

    我想执行 update all 查询来更新日期时间列 在所有行上将该列的当前值添加 1 天 我可以使用 each 和 update 来实现这一点 但在单个查询中执行会更有效 使用 Rails 和 PostgreSQL 可以实现这一点吗 UP
  • UnicodeDecodeError:“utf-8”编解码器无法解码位置 1 中的字节 0x8b:在 pandas 中读取 csv 文件时起始字节无效

    我知道类似的问题已经被问过 我已经看过所有这些问题并尝试过 但没有什么帮助 我正在使用 OSX 10 11 El Capitan python3 6 虚拟环境 也尝试过没有它 我使用的是jupyter笔记本和spyder3 我是 Pytho
  • java.lang.IllegalArgumentException:只能使用低 16 位作为 requestCode

    我正在写一个应用程序 其中Activity A发射Activity B using startActivityForResult intent 101 但当调用时 它会返回以下错误日志 E AndroidRuntime 1708 java
  • ASP.NET MVC 中的依赖下拉列表

    目前我有两个表 团队和员工 我正在完美填充团队的下拉列表 接下来我尝试根据员工团队的 selectedId 填充第二个下拉列表 控制器 GET CalView public ActionResult Index string ses str
  • 使用 Eigen 库存储 3D 数据

    如何使用 Eigen C 库存储 3D 数据 矢量用于 1D 数据 矩阵用于 2D 数据 但什么是 3D 数据 或者是否可以创建矩阵向量 您可以使用张量模块 但它还不稳定 Eigen Tensor
  • 在内核中添加新的 IOCTL(数字范围)

    我正在编写新的内核模块 并添加实现新的 IOCTL IOCTL 的编号是否应该遵循任何规则 也许有一些 用户范围 我在嵌入式平台上使用内核 2 6 21 IOCTL 被定义为与设备相关的 如果有 标准 ioctls 供人们实现 这些将是像这
  • 如何在 Xamarin.Mac 中捕获应用程序级别的按键事件

    我有一个 Xamarin Forms 应用程序 并使用主窗口中的 PreviewKeyDown 事件成功捕获 WPF 中的应用程序级别按下事件 如何在 AppDelegate 或其他方式中对 Xamarin Mac 执行相同的操作 您可以添
  • 如何在先前输入后使用 C++ 中的“获取”函数?

    我尝试输入数据gets 函数 但每当程序执行到留置权时gets 它会忽略它 当我使用gets 没有之前的数据输入 它可以正常运行 但是当我在输入数据后使用它时 就会出现问题 这是在先前的数据输入之后使用它的代码 因此在执行中我无法将数据输入