为什么 std::cin 字符串输入要求我输入每个空格

2023-12-28

这周我开始研究 C++ 中的文本文件,在练习中我必须编写一个程序,让用户在文件中输入行,但是......对于用户输入的每个空格,程序都会向用户询问新的空格。

这是我的代码:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main(void){
    ofstream myfile;
    string answer;

    do{
        cout << "Insert a line in the file[END to finalize]: ";
        cin >> answer;
        myfile.open("example.txt");
        myfile << answer;
        myfile.close();
    }while(answer != "END");
}

结果是:

在文件中插入一行[END以完成]:朋友你好

在文件中插入一行[END to Finalize]:在文件中插入一行 文件[END to Finalize]:在文件中插入一行[END to Finalize]:


operator>>(istream&, string&)基本上抓住了下一个单词。如果你想抓取整行,请尝试std::getline(std::cin, answer);.

getline但不会包括换行符。这意味着你必须做类似的事情myfile << answer << '\n';将它们输出为行。

顺便说一句,在大多数情况下,您想要在循环之外打开文件,或者打开它以附加类似的内容myfile.open("example.txt", ios::app);。每次像您一样在循环中打开文件,我很确定您将文件指针放置在文件的开头,因此您编写的每一行都会至少覆盖前一行的第一部分。

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

为什么 std::cin 字符串输入要求我输入每个空格 的相关文章

  • 为什么相同的代码在同一台计算机上的执行时间可能不同?

    我是 C 编程新手 我编写了代码并希望获得它的运行时 这就是我所做的 每次运行代码时 我都会得到不同的运行时值 这样对吗 或者我的代码有问题吗 int main int argc char argv time t start end sta
  • std::cout 和 std::wcout 有什么区别?

    在c 中 有什么区别std cout and std wcout 它们都控制流缓冲区的输出或将内容打印到控制台 或者它们只是相似吗 它们作用于不同的字符类型 std cout uses char作为字符类型 std wcout uses w
  • C++ 中本地类中的静态成员变量?

    我知道我们不能宣布static本地类中的成员变量 但其原因尚不清楚 那么请问有人可以解释一下吗 另外 为什么我们不能访问非static函数内部定义的变量 内部已经定义了局部类 直接在局部类成员函数中 在下面给出的代码中 int main i
  • Unix网络编程澄清

    我正在翻阅这本经典书籍Unix网络编程 https rads stackoverflow com amzn click com 0139498761 当我偶然发现这个程序时 第 6 8 节 第 179 180 页 include unp h
  • 如何在 C# 中从 UNIX 纪元时间转换并考虑夏令时?

    我有一个从 unix 纪元时间转换为 NET DateTime 值的函数 public static DateTime FromUnixEpochTime double unixTime DateTime d new DateTime 19
  • 将内置类型转换为向量

    我的 TcpClient 类接受vector
  • 在新的浏览器进程中打开 URL

    我需要在新的浏览器进程中打开 URL 当浏览器进程退出时我需要收到通知 我当前使用的代码如下 Process browser new Process browser EnableRaisingEvents true browser Star
  • 如何访问另一个窗体上的ListView控件

    当单击与 ListView 所在表单不同的表单中的按钮时 我试图填充 ListView 我在 Form1 中创建了一个方法以在 Form2 中使用 并将参数传递给 Form1 中的方法 然后填充 ListView 当我调试时 我得到了传递的
  • 生成(非常)大的非重复整数序列而不进行预洗牌

    背景 我编写了一个简单的媒体客户端 服务器 我想生成一个不明显的时间值 随从客户端到服务器的每个命令一起发送 时间戳中将包含相当多的数据 纳秒分辨率 即使它不是真正准确 因为现代操作系统中计时器采样的限制 等 我想做的 在 Linux 上
  • 无法在 Windows 运行时组件库的 UserControl 中创建依赖项属性

    我想在用户控件内创建数据可绑定属性 这个用户控件包含一个 Windows 运行时组件 项目 我使用下面的代码来创建属性 public MyItem CurrentItem get return MyItem GetValue Current
  • 如何在 C# 中定义文本框数组?

    您好 当我在 Windows 申请表上创建文本框时 我无法将其命名为 box 0 box 1 等 我这样做的目的是因为我想循环使用它们 其实我发现TextBox array firstTextBox secondTextBox 也有效
  • 获取 WPF 控件的所有附加事件处理程序

    我正在开发一个应用程序 在其中动态分配按钮的事件 现在的问题是 我希望获取按钮单击事件的所有事件 因为我希望删除以前的处理程序 我尝试将事件处理程序设置为 null 如下所示 Button Click null 但是我收到了一个无法分配 n
  • PlaySound 可在 Visual Studio 中运行,但不能在独立 exe 中运行

    我正在尝试使用 Visual Studio 在 C 中播放 wav 文件 我将文件 my wav 放入项目目录中并使用代码 PlaySound TEXT my wav NULL SND FILENAME SND SYNC 我按下播放按钮 或
  • 批量更新 SQL Server C#

    我有一个 270k 行的数据库 带有主键mid和一个名为value 我有一个包含中值和值的文本文件 现在我想更新表格 以便将每个值分配给正确的中间值 我当前的方法是从 C 读取文本文件 并为我读取的每一行更新表中的一行 必须有更快的方法来做
  • 如何使用 Mongodb C# 驱动程序连接多个集合

    我需要将 3 个集合与多个集合合并在一起 lookup我在 C 驱动程序中尝试过 它允许我 lookup用户采集但无法执行秒 lookup用于设置集合 有人可以帮忙吗 db Transactions aggregate lookup fro
  • 将 log4net 与 Autofac 结合使用

    我正在尝试将 log4net 与 Autofac 一起使用 我粘贴了这段代码http autofac readthedocs org en latest examples log4net html http autofac readthed
  • C++ 密码屏蔽

    我正在编写一个代码来接收密码输入 下面是我的代码 程序运行良好 但问题是除了数字和字母字符之外的其他键也被读取 例如删除 插入等 我知道如何避免它吗 特q string pw char c while c 13 Loop until Ent
  • Process.Start() 方法在什么情况下返回 false?

    From MSDN https msdn microsoft com en us library e8zac0ca v vs 110 aspx 返回值 true 表示有新的进程资源 开始了 如果由 FileName 成员指定的进程资源 St
  • 有没有办法强制显示工具提示?

    我有一个验证字段的方法 如果无法验证 该字段将被清除并标记为红色 我还希望在框上方弹出一个工具提示 并向用户显示该值无效的消息 有没有办法做到这一点 并且可以控制工具提示显示的时间 我怎样才能让它自己弹出而不是鼠标悬停时弹出 If the
  • memset 未填充数组

    u32 iterations 5 u32 ecx u32 malloc sizeof u32 iterations memset ecx 0xBAADF00D sizeof u32 iterations printf 8X n ecx 0

随机推荐

  • 如何在不部署jar的情况下在Maven中配置子项目依赖?

    我用谷歌搜索了这个 似乎没有人有答案 但这似乎是一件基本的事情 它应该是可能的 我有以下项目结构 parent sub project1 sub project2 sub project2 需要有 sub project1 作为依赖项 所以
  • 如果没有表视图结果,则在屏幕上显示“无结果”

    我有一个tableview 有时可能没有任何结果可列出 所以我想要发布一些 没有结果 的内容如果没有结果 标签或一个表格视图单元格 有没有最简单的方法来做到这一点 我会尝试一个label在 后面tableview然后根据结果隐藏两者之一 但
  • 无法将 InnerHTML 属性设置为 null [重复]

    这个问题在这里已经有答案了 我有一个简单的 html 页面 正文标记中没有代码 我想通过javascript在body标签中插入html 我的 javascript 文件如下所示 var Global UserWall function r
  • iPad/iPhone 上的咆哮类型通知?

    iPad iPhone 上的咆哮类型通知 我想在 iPad 应用程序顶部显示非模式 非弹出通知 Growl 是一个 Mac OS X 程序 它会在屏幕一角显示一些小弹出窗口 这些窗口会在一段时间后消失 或者上面有一个小 x 以便更快关闭 H
  • 修复共享元素过渡动画显示不佳的问题

    我正在尝试在两个具有共享元素的活动之间创建共享元素过渡动画ImageView 第一个有一个RecyclerView使用项目单击侦听器 单击后 它应该通过转换启动另一个活动 关闭已启动的活动时动画效果良好 但启动活动时则不然 点击该项目后Re
  • 使用 Spring Security + CAS 进行循环重定向,但应该可以工作

    我正在尝试将基本应用程序从仅使用 Spring Security 更改为使用 CAS 以启用 SSO 但我在某个地方遇到了重定向循环 并且我无法找出问题所在 我还制作了另外两个模拟应用程序 在 CAS 上没有问题 因为它们正在工作 我使用
  • 将灰度转换为黑白的最佳阈值

    自动找出将灰度图像转换为黑白图像的最佳阈值的最佳方法是什么 我可以手动计算出相当好的阈值 但我想自动选择阈值 编辑 我已经阅读了一些有关这个问题的内容 通过查看图像的直方图可以有所帮助 例如如果图像具有双模态直方图 那么在模式之间选择阈值似
  • 以编程方式应用于按钮时,样式无法完全工作[重复]

    这个问题在这里已经有答案了 这是我的风格
  • 会话 VS 温度饼干

    我是在想 在 PHP 中设置没有过期的 cookie 意味着它会在浏览器关闭时过期 和设置会话变量有什么区别 我不是在谈论登录之类的事情 而不需要在每次页面访问时获取不经常更改的数据库值等 P S 您可以通过使用来更好地保护您的cookie
  • 如何在 Angular 中使用“routerLink”启用“ctrl+click”

    在 Angular 中 如果你使用这个 div img src div 当我按图像时 它会完美路由 我想按 ctrl 单击 在新选项卡中打开此链接 或将此图像拖动到新选项卡 但是当我按 ctrl 单击 时 它会在同一页面中打开 如果我拖动它
  • CSS 依赖于 ActiveX?

    只要启用了 ActiveX 我的页面就可以在 FF Chrome Safari 甚至 IE8 中运行 链接已删除 为了让 CSS3 功能 旋转 不透明度 文本阴影 在 IE8 中工作 我必须使用 ActiveX 过滤器 我的问题是 当您第一
  • Android - 通过服务器端验证保护应用内购买

    我是 Android 开发新手 但创建了一个应用程序 并实现了应用程序内购买以从应用程序中删除广告 我只是做了一个非常基本的实现 我基本上检查用户是否购买了 no ads 项目 如果是真的 则不会显示广告 问题是我看到很多 购买 记录在 f
  • Eclipse 无法通过代理连接到互联网

    我的 eclipse juno 4 2 centos 5 6 无法连接到互联网 完全没有 我有一个代理服务器设置 我看了一下Eclipse 无法连接到互联网 https stackoverflow com questions 7778484
  • NetworkX 从特定节点删除属性

    我在使用 python 中的 networkX 库时遇到问题 我建立了一个图表 用属性初始化一些节点 边 我还开发了一种方法 可以动态地将具有特定值的特定属性添加到目标节点 例如 def add tag self G fnode attr
  • 带 bo​​ost 的 C++11 占位符

    这段代码 int main using namespace std placeholders ClassA a ClassB b b2 a SigA connect std bind ClassB PrintFoo b a SigB con
  • Android 蓝牙 - 如何启动配对

    我想向非 Android 设备发起配对请求 此时不是连接 这可以在 设置应用程序 gt 网络 gt 蓝牙设置 gt 扫描后单击设备 中找到 两台设备上都会出现一个带有 6 位 PIN 码的弹出窗口 根据 Android 的文档 如果我这样做
  • 如何在 Go 中访问 Kubernetes API 并运行 kubectl 命令

    我想在 Go 中访问我的 Kubernetes 集群 API 来运行kubectl命令获取在谷歌云上运行的 k8s 集群中的可用命名空间 我的唯一目的是通过运行来获取集群中可用的命名空间kubectl命令 请告诉我是否有其他选择 你可以从k
  • 如何从cookie中获取Web Session?

    我正在尝试抓取网页 但为了发布数据 我需要一个网络会话 ID 例如 web session HQJ3G1GPAAHRZGFR 我怎样才能得到那个ID 到目前为止我的代码是 Private Sub test Dim postData As S
  • “my_app.app/ResearchKit/ResearchKit/Info.plist”处的捆绑包不包含捆绑包可执行文件

    UpdateXCode 版本 8 2 iOS 目标 9 希望有人能向我指出这不是一个错误 非常简单 我提取了最新稳定版本的 researckKit 然后将 xcodeproj 文件放入我的新 iOS 项目中 添加了嵌入式二进制文件 我创建了
  • 为什么 std::cin 字符串输入要求我输入每个空格

    这周我开始研究 C 中的文本文件 在练习中我必须编写一个程序 让用户在文件中输入行 但是 对于用户输入的每个空格 程序都会向用户询问新的空格 这是我的代码 include