使用 getline 跳过空格

2024-01-20

我正在编写一个程序来制作问题表格。这些问题被保存到一个文件中,我想读取它们并将它们存储在内存中(我为此使用向量)。 我的问题有以下形式:

1 TEXT What is your name?
2 CHOICE Are you ready for these questions?
Yes
No

我的问题是,当我从文件中读取这些问题时,我使用 getline 读取一行,然后将其转换为字符串流,读取问题的数量和类型,然后再次在字符串流上使用 getline ,阅读问题的其余部分。 但这的作用是,它还会读取问题前面的空格,当我再次将问题保存到文件并再次运行程序时,问题前面有 2 个空格,之后有 3 个空格,很快...

这是我的一段代码:

getline(file, line);
std::stringstream ss(line);
int nmbr;
std::string type;
ss >> nmbr >> type;
if (type == "TEXT") {
    std::string question;
    getline(ss, question);
    Question q(type, question);
    memory.add(q);

关于如何解决这个问题有什么想法吗? getline 可以忽略空格吗?


Look at this http://www.cplusplus.com/reference/istream/ws/并使用:

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

使用 getline 跳过空格 的相关文章

随机推荐

  • getAllCellInfo 在 android 4.2.1 中返回 null

    我的 Android 版本是 4 2 1 我正在尝试使用TelephonyManager getAllCellInfo 方法 在我的清单文件中我有ACCESS COARSE UPDATES ACCESS COARSE LOCATION AC
  • Jquery Ajax 中的函数作为参数

    是否可以将函数放入 Jquery Ajax 的参数中 如下所示 dataType 和 data 作为函数给出 如果返回类型为 JSON 则 dataType 返回 JSON 值 如果 isJson 为 false 则返回文本 dataVal
  • 裸机 RISC-V CPU - 处理器如何知道从哪个地址开始获取指令?

    我正在设计自己的 RISC V CPU 并且已经能够实现一些指令代码 我已经安装了 RV32I 版本的 GCC 编译器 所以我现在有了汇编器riscv32 unknown elf as可用的 我正在尝试仅用一条指令来汇编一个程序 simpl
  • 尝试理解异步操作子类

    我正在尝试开始使用Operation在一个副项目中 而不是在我的网络代码中散布基于闭包的回调 以帮助消除嵌套调用 所以我在读一些关于这个主题的书 然后我发现this https gist github com calebd 93fa3473
  • 在每个应用程序的事件循环迭代上执行槽

    如何在应用程序事件循环的每次迭代中调用我的槽 我知道的唯一方法是使用 QTimer 并且在每次超时 每毫秒 信号时我可以调用我的插槽 但我不喜欢这个选项 它看起来像是解决方法 有什么建议如何更正确地做到这一点 来自 Qt 4 7 QCore
  • META“过期”标签

    因此 使用 FF 中的 pagespeed 我能够找到一些关于如何减少页面加载时间的区域 其中提到的部分使用 META 过期 标签 它列出了我的所有 CSS 和 JS 文件以及 IMG 文件 现在 如果我只是将此标记合并到我网站的主页 in
  • Java - “\n”是什么意思? [复制]

    这个问题在这里已经有答案了 我用 Java 创建了一个二维数组 我正在寻找一种在控制台上打印它的方法 以便我可以确认我正在制作的东西是正确的 我在网上找到了一些为我执行此任务的代码 但我对代码的特定部分的含义有疑问 int n 10 int
  • 在 ClearCase 中手动撤消交付

    我目前在 ClearCase 中从子流到父级的传输被提升 如果我尝试撤消交付 它会告诉我不能 因为 集成活动已签入 或 签入版本 如果我尝试恢复交付 它会说尝试签出或合并元素时遇到错误 但没有具体告诉我是哪一个 所以我正在寻找一种方法 手动
  • Ping google 关于分页站点地图 django

    I have sitemap xml有 150k 行 我正在使用分页 所以有sitemap xml p 1 sitemap xml p 2 etc 我应该如何使用 Django 向 Google 告知这些页面 或者谷歌会发现sitemap
  • 删除常规数组的元素

    我有一个 Foo 对象数组 如何删除数组的第二个元素 我需要类似的东西RemoveAt 但对于常规数组 如果您不想使用列表 var foos new List
  • 在Python中使用正则表达式解析PDF文件

    我正在尝试使用 Python 的 re 模块解析 PDF 文件中的一些对象元素 我的目标是使用正则表达式解析每个 PDF 对象 PDF 对象示例如下 1 0 obj lt lt Type Catalog Pages 2 0 R gt gt
  • Java char 数组转int

    是否可以转换char 包含数字的数组 一个int 是否char 包含组成数字数字的 unicode 字符 在这种情况下 只需从char 并使用 Integer parseInt char digits 1 2 3 int number In
  • 如何在android中使用volley下载视频文件?

    我想使用 volley 库下载视频 我正在使用 volley 库来处理应用程序中的所有网络调用 首先 我们需要创建一个扩展 Volley Request 类的自定义类 要下载文件数据 我们可以创建自定义字节数组请求 该字节数组可以转换为输入
  • 模板类的编译时计数器

    想象一下 您有很多带有很多不同模板参数的类 每个类都有一个方法static void f 你想将所有这些函数指针收集到一个列表 L 中 运行时解决方案很简单 typedef void p std vector p L int reg p x
  • AnTLR4 C# 中的解析树

    我目前正在使用针对 C 的 AnTLR4 创建语法 但在开发访问者时遇到问题 我找不到书中提到的 ParseTree 类 书中我们有 LabeledExprLexer lexer new LabeledExprLexer input Com
  • 只读 mutableStateListOf

    在 Jetpack Compose 中 如果我有MutableState变量 我可以将其状态公开为 只读 对其他类的价值为State
  • currentsessioncontext流畅nhibernate怎么办呢?

    我正在尝试根据请求使用流利的会话 我正在遵循 nhibernate 食谱中的 食谱 但它使用 nhibernate 配置文件 我不确定什么更好 但现在我坚持使用流畅的配置 只是因为我不知道如何设置 nhibernate 配置文件以使用流畅的
  • “gcloud app log tail”显示一周前的数据

    我正在尝试流式传输我的 Google Cloud Platform 应用程序的日志 我注意到的第一件事是 Google 每秒至少发送大约 10 次健康检查 所以我必须grep v health以获得任何有用的信息 这是标准吗 第二件事是它传
  • ASP.NET MVC 4 用户身份验证

    我正在尝试编写一个 Login 方法 对用户进行身份验证并授权他们进入使用 ASP NET MVC 4 开发的网站 问题是 尽管我在 Login 方法内验证用户并重定向到 ViewProfile 操作后调用 FormsAuthenticat
  • 使用 getline 跳过空格

    我正在编写一个程序来制作问题表格 这些问题被保存到一个文件中 我想读取它们并将它们存储在内存中 我为此使用向量 我的问题有以下形式 1 TEXT What is your name 2 CHOICE Are you ready for th