std::cin 输入带空格?

2024-03-21

#include <string>

std::string input;
std::cin >> input;

用户想要输入“Hello World”。但cin两个单词之间的空格失败。我怎样才能使cin采取整体Hello World?

我实际上是用结构来做到这一点的cin.getline似乎不起作用。这是我的代码:

struct cd
{
    std::string CDTitle[50];
    std::string Artist[50];
    int number_of_songs[50];
};

std::cin.getline(library.number_of_songs[libNumber], 250);

这会产生错误。有任何想法吗?


它不会“失败”;它只是停止阅读。它将词汇标记视为“字符串”。

Use std::getline http://en.cppreference.com/w/cpp/string/basic_string/getline:

#include <string>
#include <iostream>

int main()
{
   std::string name, title;
   
   std::cout << "Enter your name: ";
   std::getline(std::cin, name);
   
   std::cout << "Enter your favourite movie: ";
   std::getline(std::cin, title);
   
   std::cout << name << "'s favourite movie is " << title;
}

请注意,这是notstd::istream::getline,适用于 C 风格char缓冲区而不是std::strings.

Update

您编辑后的问题与原始问题几乎没有相似之处。

你试图getline进入一个int,不是字符串或字符缓冲区。流的格式化操作仅适用于operator<< and operator>>。要么使用其中之一(并相应地调整多词输入),要么使用getline并按词法转换为int事后。

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

std::cin 输入带空格? 的相关文章

  • Qt - 无法让 lambda 工作[重复]

    这个问题在这里已经有答案了 我有以下功能 我想在其中修剪我的std set
  • 捕获 foreach 条件中抛出的异常

    我有一个foreach在 foreach 本身的条件下循环期间中断的循环 有没有办法try catch抛出异常然后继续循环的项 这将运行几次 直到异常发生然后结束 try foreach b in bees exception is in
  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • try-catch 中未处理的异常

    try list from XElement e in d Descendants wix File where e Attribute Name Value Contains temp Name e Parent Parent Attri
  • VS30063:您无权访问 https://dev.azure.com

    我正在尝试在 asp net core 2 1 mvc 应用程序中使用以下代码连接 Azure DevOps Uri orgUrl new Uri https dev azure com xxxxx String personalAcces
  • 在 C# 中将位从 ulong 复制到 long

    所以看来 NET 性能计数器类型 http msdn microsoft com en us library system diagnostics performancecounter aspx有一个恼人的问题 它暴露了long对于计数器
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • 范围和临时初始化列表

    我试图将我认为是纯右值的内容传递到范围适配器闭包对象中 除非我将名称绑定到初始值设定项列表并使其成为左值 否则它不会编译 这里发生了什么 include
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • 在 C 中复制两个相邻字节的最快方法是什么?

    好吧 让我们从最明显的解决方案开始 memcpy Ptr const char a b 2 调用库函数的开销相当大 编译器有时不会优化它 我不会依赖编译器优化 但即使 GCC 很聪明 如果我将程序移植到带有垃圾编译器的更奇特的平台上 我也不
  • Qt - 设置不可编辑的QComboBox的显示文本

    我想将 QComboBox 的文本设置为某些自定义文本 不在 QComboBox 的列表中 而不将此文本添加为 QComboBox 的项目 此行为可以在可编辑的 QComboBox 上实现QComboBox setEditText cons
  • 如何检测 C# 中该字典键是否存在?

    我正在使用 Exchange Web 服务托管 API 和联系人数据 我有以下代码 即功能性的 但并不理想 foreach Contact c in contactList string openItemUrl https service
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 以编程方式使用自定义元素创建网格

    我正在尝试以编程方式创建一个网格 并将自定义控件作为子项附加到网格中 作为 2x2 矩阵中的第 0 行第 0 列 为了让事情变得更棘手 我使用了 MVVM 设计模式 下面是一些代码可以帮助大家理解这个想法 应用程序 xaml cs base
  • 如何确定母版页中正在显示哪个子页?

    我正在母版页上编写代码 我需要知道正在显示哪个子 内容 页面 我怎样才能以编程方式做到这一点 我用这个 string pageName this ContentPlaceHolder1 Page GetType FullName 它以 AS
  • 如何使用 std::array 模拟 C 数组初始化“int arr[] = { e1, e2, e3, ... }”行为?

    注意 这个问题是关于不必指定元素数量并且仍然允许直接初始化嵌套类型 这个问题 https stackoverflow com questions 6111565 now that we have stdarray what uses are

随机推荐

  • 使用对象元素作为参数的 Firestore 查询

    我在项目中使用 Firestore 作为数据库 并且我有一个表 我需要在对象内执行查询 foo data bar data exObject dataToQuery value 这是一个结构示例 我想在对象内部进行查询 一个如下所示的查询
  • 具有定向光正交投影的 OpenGL 3+

    我目前遇到来自移动 类似太阳 光源的定向光阴影贴图的问题 当我最初实现时 光投影矩阵被计算为 3D 并且阴影贴图看起来很漂亮 然后我了解到 对于我想要做的事情 正交投影效果会更好 但我很难替换正确的投影矩阵 正如人们所期望的那样 每次滴答声
  • 包含 unistd.h 的 write() 包装例程会导致错误

    我正在编写一个包装例程write 要覆盖原始系统功能 并在其中我需要通过执行另一个程序execve 我为其添加了头文件unistd h 我收到错误conflicting types for write usr include unistd
  • 如何让Three.js全屏显示?

    我想用 Three js 制作游戏 但如何使其全屏显示 我看见本文 http learningthreejs com blog 2011 11 17 lets make a 3d game make it fullscreen 并且我在代码
  • Hibernate,更改标识符/主键

    当我尝试更改我的设置时 我收到以下异常 ID in an Entity identifier of an instance of com google search pagerank ItemEntity was altered from
  • 无法创建 Laravel 项目,因为缺少 mcrypt 扩展

    好吧 我看过很多关于这个问题的帖子 我花了一整天的时间来解决这个问题 但没有成功 我正在尝试创建一个 Laravel 项目 我使用的是 Mac Yosemite 运行 PHP 5 5 14 机器上还有旧版本的 PHP 当我尝试使用 lara
  • ionic 如何添加空白页面作为应用程序的主页?

    我想使用选项卡式菜单将新页面添加到默认离子应用程序中 并将此页面显示为应用程序的默认页面 我尝试这样做的方法如下 我在 app js 中添加了新状态 state home url home views home templateUrl te
  • 是否可以让Head JS的ready()函数等待两个脚本?

    我在网页上加载了三个脚本 我想在其中两个脚本完成加载后触发一个函数 head js webfont http ajax googleapis com ajax libs webfont 1 0 31 webfont js jquery ht
  • 如何缩小 SVG 元素联合的类型

    我正在使用 React 设置对 svg 元素的引用 该元素可能是
  • SQL 将列数据类型从 nvarchar 更改为 int

    字段的数据类型可以从 nvarchar 更改为 int 吗 alter table employee alter column designation int 这是有效的吗 如果不行的话可以用其他方式实现吗 PS 我正在使用MS SQL S
  • cordova:拍照后上传图像不起作用

    我正在开发一个使用 Apache Cordova 又名 Phonegap 开发的 iOS 应用程序 我想分两步上传照片 1 拍摄照片并以小尺寸显示照片 2 上传照片 我需要一个拍照按钮和一个上传按钮 我的脚本不起作用 怎么了 这是我的 Ja
  • 使用 STS 和 WCF 时遇到不安全或安全错误异常的问题

    我正在使用几个 WCF 服务 所有服务均使用 WIF 和 STS 提供程序进行保护 均使用开箱即用的 Microsoft 代码和示例 这些服务都是使用 NET 3 5 构建的 并且最近全部更新到 NET 4 0 ALL与服务相关的 dll
  • 错误:invalid_scope - 此应用尚未经过验证可以访问

    以前有人经历过这个错误吗 我一直在研究 测试并努力让这个错误消失 但似乎没有任何效果 这是与以下帖子类似的问题 错误 invalid scope google 读取联系人信息 https stackoverflow com question
  • 分解 Chrome 存储同步项目的算法

    我正在尝试使用 chrome storage sync set 保存一个字符串 更正 它是一个包含多个不同大小的字符串的对象 但收到错误 错误 超出 QUOTA BYTES PER ITEM 配额 这是因为限制为 8092 所以我想将字符串
  • 使用构建标签进行Android根检测?

    以下方法是我们以编程方式检测 Android 设备是否已 root 的方法之一 public boolean checkRootMethod1 String buildTags android os Build TAGS if buildT
  • 从数组末尾切片 NSArray

    切片 的最佳方法是什么NSArray从数组的末尾而不是开头开始 例如 查找包含 a 的最后几个元素的子数组 NSArray长度未知 在 Python 中 您可以使用负索引来完成此操作 例如 new list old list 5 3 在 O
  • VBA - 使用数字选择列?

    我正在寻找替代方案code 但使用数字 我想选择5列 起始列是一个变量 然后它从中选择5列 Columns A E Select 我该如何使用integers相反 参考列 像下面这样的东西 For n 1 to 5 Columns n n
  • 三个条件的排列最快的算法是什么?

    有人可以帮助我了解以最少的步骤评估三个条件的最快方法吗 我有三个条件 如果两个条件中的任何一个为真 那么整个表达式就变成了true else false 我尝试过两种方法 if condition1 condition2 condition
  • 如何在 QuickFIX/J 中对传出消息中的字段进行排序

    有没有办法在不重建 QuickFIX J 的情况下对传出消息中的字段进行排序 或者任何可用的配置标志可以根据我们可能使用某些路径标志设置的任何验证文件对消息进行排序 See the QuickFIX J 用户常见问题解答 https www
  • std::cin 输入带空格?

    include