告诉 `endl` 不要刷新

2024-01-05

我的程序打印大量短行cout.

作为一个稍微做作的例子,我的线条看起来有点像这样:

cout<<"The variable's value is: "<<variable<<endl;

我希望程序能够运行fast我确实相信endl正在杀了我,因为它启动了缓冲区刷新cout每次使用时。

现在,互联网上的一些人说我可以这样做:

cout<<"The variable's value is: "<<variable<<"\n";

但这似乎不是一个好的解决方案,因为endl抽象了可能指定端线的特定系统特定方式,其中\n才不是。这似乎也是一个糟糕的解决方案,因为如果我将来需要缓冲,我就必须修改整个代码库。

因此,我问,有没有办法禁用缓冲区刷新方面endl?

EDIT

进一步挖掘seems来表明两者endl and \n尊重操作系统可能选择结束其线路的各种方式。看来也 https://stackoverflow.com/questions/796865/can-i-stop-stdcout-flushing-on-n输出流检测它是否处于潜在的交互情况并相应地进行缓冲和刷新。因此:问题可以通过手动告诉输出流执行积极的缓冲来解决......如果我能弄清楚如何做到这一点。


endl 抽象了可能指定结束行的特定系统特定方式,而 \n 则不然”。

std::endl被定义为输出'\n'随后是冲洗。特定于系统的换行符的正确抽象是'\n'.

为了防止潮红,人们只是不使用std::endl。此外,如果标准输出连接到或可能连接到交互式设备,则标准输出可以是行缓冲的,在这种情况下,换行符将刷新流。如果这是一个问题,请使用ofstream连接到一个命名文件。我认为在类 Unix 系统上,行缓冲仅在标准输出是终端时发生。

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

告诉 `endl` 不要刷新 的相关文章

  • 如何在 C++ 中的文件末尾添加数据?

    我已按照网上的说明进行操作 此代码应该将输入添加到文件 数据库 的末尾 但当我检查时 数据会覆盖现有数据 请帮忙 这是我的代码 int main string name string address string handphone cou
  • Unix网络编程澄清

    我正在翻阅这本经典书籍Unix网络编程 https rads stackoverflow com amzn click com 0139498761 当我偶然发现这个程序时 第 6 8 节 第 179 180 页 include unp h
  • 互斥体实现可以互换(独立于线程实现)

    所有互斥体实现最终都会调用相同的基本系统 硬件调用吗 这意味着它们可以互换吗 具体来说 如果我使用 gnu parallel算法 使用openmp 并且我想让他们称之为线程安全的类我可以使用boost mutex用于锁定 或者我必须编写自己
  • 在 Unity 进程和另一个 C# 进程之间进行本地 IPC 的最快方法 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我希望每秒大约 30 次从 C 应用程序向我的 Unity 应用程序传送大量数据 由于 Unity 不支持映射内存和管道 我考虑了 t
  • C++中的类查找结构体数组

    我正在尝试创建一个结构数组 它将输入字符串链接到类 如下所示 struct string command CommandPath cPath cPathLookup set an alarm AlarmCommandPath send an
  • 生成(非常)大的非重复整数序列而不进行预洗牌

    背景 我编写了一个简单的媒体客户端 服务器 我想生成一个不明显的时间值 随从客户端到服务器的每个命令一起发送 时间戳中将包含相当多的数据 纳秒分辨率 即使它不是真正准确 因为现代操作系统中计时器采样的限制 等 我想做的 在 Linux 上
  • 如何在 Linq 中获得左外连接?

    我的数据库中有两个表 如下所示 顾客 C ID city 1 Dhaka 2 New york 3 London 个人信息 P ID C ID Field value 1 1 First Name Nasir 2 1 Last Name U
  • 单击 form2 上的按钮触发 form 1 中的方法

    我对 Windows 窗体很陌生 我想知道是否可以通过单击表单 2 中的按钮来触发表单 1 中的方法 我的表格 1 有一个组合框 我的 Form 2 有一个 保存 按钮 我想要实现的是 当用户单击表单 2 中的 保存 时 我需要检查表单 1
  • 未定义的行为或误报

    我 基本上 在野外遇到过以下情况 x x 5 显然 它可以在早期版本的 gcc 下编译干净 在 gcc 4 5 1 下生成警告 据我所知 警告是由 Wsequence point 生成的 所以我的问题是 这是否违反了标准中关于在序列点之间操
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • 私有模板函数

    我有一堂课 C h class C private template
  • 用于 C# 的 TripleDES IV?

    所以当我说这样的话 TripleDES tripledes TripleDES Create Rfc2898DeriveBytes pdb new Rfc2898DeriveBytes password plain tripledes Ke
  • 为什么在setsid()之前fork()

    Why fork before setsid 守护进程 基本上 如果我想将一个进程与其控制终端分离并使其成为进程组领导者 我使用setsid 之前没有分叉就这样做是行不通的 Why 首先 setsid 将使您的进程成为进程组的领导者 但它也
  • Process.Start() 方法在什么情况下返回 false?

    From MSDN https msdn microsoft com en us library e8zac0ca v vs 110 aspx 返回值 true 表示有新的进程资源 开始了 如果由 FileName 成员指定的进程资源 St
  • 如何在 C# 中调整图像大小同时保持高质量?

    我从这里找到了一篇关于图像处理的文章 http www switchonthecode com tutorials csharp tutorial image editing saving cropping and resizing htt
  • 如何在按钮单击时模拟按键 - Unity

    我对 Unity 中的脚本编写非常陌生 我正在尝试创建一个按钮 一旦单击它就需要模拟按下 F 键 要拾取一个项目 这是我当前的代码 在编写此代码之前我浏览了所有统一论坛 但找不到任何有效的东西 Code using System Colle
  • 编译时“strlen()”有效吗?

    有时需要将字符串的长度与常量进行比较 例如 if line length gt 2 Do something 但我试图避免在代码中使用 魔法 常量 通常我使用这样的代码 if line length gt strlen Do somethi
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • Linq-to-entities,在一个查询中获取结果+行数

    我已经看到了有关此事的多个问题 但它们已经有 2 年 或更长 的历史了 所以我想知道这方面是否有任何变化 基本思想是填充网格视图并创建自定义分页 所以 我还需要结果和行数 在 SQL 中 这将类似于 SELECT COUNT id Id N
  • 如何使用 Word Automation 获取页面范围

    如何使用办公自动化找到 Microsoft Word 中第 n 页的范围 似乎没有 getPageRange n 函数 并且不清楚它们是如何划分的 这就是您从 VBA 执行此操作的方法 转换为 Matlab COM 调用应该相当简单 Pub

随机推荐

  • asmack XMPP新用户注册

    StackOverflow 的好心人 请帮忙 我已经在我的 ubuntu 机器上设置了一个 ejabberd 服务器 添加了虚拟主机 设置 访问 注册 允许 全部 并注册了一个管理员帐户 我不是 Linux 专家 但我已经成功完成了这个基本
  • 计算“this”和“that”元素之间的元素数量

    我试图知道 DOM 中被单击的元素与某个其他元素的距离有多 远 li item1 li li item2 li li class active item3 li li item4 li li item5 li li item6 li li
  • Postgres JSONB 字段中的全局替换

    我需要全局替换嵌套 JSON 结构中多个位置出现的特定字符串 该字符串作为 jsonb 存储在 postgres 表中 例如 location tmp config alternate location name config locati
  • 无法使用 BatchNorm 层导入冻结图

    我基于此训练了一个 Keras 模型repo https github com bonlime keras deeplab v3 plus 训练后 我将模型保存为检查点文件 如下所示 sess tf keras backend get se
  • 使用 JQuery(立即)检测对 的所有更改

    价值的体现有多种方式
  • 使用 PowerShell 匹配存储在变量中的字符串

    我正在尝试创建一个备份脚本来移动超过 30 天的文件 但我希望能够从列表中排除文件夹 a C Temp Exclude test b C Temp Exclude 如果我运行以下命令 a match b 下列的 Guy Guy Thomas
  • Select2 使用ajax响应数据生成id

    我的 JSON 响应数据不包含 ID 字段 而 Select2 需要该字段才能显示结果 在文档中 他们提供了一种生成 id 的方法 但是我无法这样做 有人可以提供一个关于如何执行此操作的示例吗 到目前为止我已经尝试过了 itemSearch
  • Net Core 2 中 HandleErrorAttribute 的等效项

    我正在将 Net 4 6 2 项目迁移到 Net Core 2 相当于什么HandleErrorAttribute 第 2 行以下接收错误 public static void RegisterGlobalFilters GlobalFil
  • 在 Java 中使用 volatile 关键字的完整示例?

    我需要一个简单的使用示例volatileJava 中的关键字 由于不使用而导致行为不一致volatile 理论部分volatile用法对我来说已经很清楚了 首先 没有保证由于非易失性变量而暴露缓存的方式 您的 JVM 可能一直对您非常友善
  • 访问VBA:根据非绑定列在组合框中查找项目

    我在 Access 表单上有一个两列组合框 表示键到代码的映射 组合框的第一列是 绑定列 即 当MyComboBox Value叫做 我需要动态设置Value我的组合框基于第二列中找到的值 例如 如果我的组合框源是 Value Code A
  • 蓝牙+模拟鼠标

    有人知道是否可以制作一个应用程序通过蓝牙模拟触摸屏鼠标或触控板 如何使 PC 或 MAC 将我识别为鼠标设备 问候 胡安 您应该查看蓝牙 HID 规范 这可能是可能的 具体取决于您用来模拟鼠标 触控板的设备堆栈 我不熟悉 Android 上
  • 由于错误 800a025e,无法完成操作

    这个错误在 IE10 11 中意味着什么 Error Could not complete the operation due to error 800a025e 我该如何调试它 它说的是这一行 this nativeSelection r
  • TabPanel 中的 gwt ScrollPanel:没有垂直滚动条

    EDIT 我通过调整组件内的大小来修复空白行为VerticalPanel 这似乎对面板尺寸产生了影响 但控制台却忽略了这一点 我不太明白怎么办 但是 我的面板仍然没有显示垂直滚动条 在 GWT 项目中 我具有以下结构 Page DockLa
  • 如何检查我是否有 Base Clearcase 或 UCM?

    我是 ClearCase 的新手 我以前用过理性协同 我们在项目中使用 ClearCase 进行版本控制 在我的旧项目中 我使用了合理的协同作用 其中我们为文件中的任何修改创建 任务 我了解到我们在 ClearCase 中有活动 我想在我们
  • 用于启用/禁用用户的 Firebase 触发器

    在 Firebase Auth 控制台中 每个用户都有一个选项 例如启用 禁用其帐户 如何在 Firebase 函数和 Android 应用程序中触发此事件 函数无法在这种事件上触发 至少现在还没有 函数只会在这些情况下触发 查看doc h
  • Java 中的函数式编程 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Java 有没有一个好的函数式编程库 我正在寻找类似的东西谓词 http msdn microsoft com en us library
  • 读取调制解调器固件版本:Android

    我正在开发一个 iPhone 和 Android 中的应用程序 我需要阅读Modem Firmware Version正如 iPhone 开发人员在他身边所做的那样 我在 Internet SO 上搜索 但找不到与我的问题相关的任何内容 是
  • 在 JUnit5 (Eclipse) 中创建 TestSuite

    我在 eclipse 中创建了多个测试用例 java 文件 JUnit 的版本是 JUnit5 现在 我尝试通过 eclipse GUI 创建 Junit TestSuite 在创建过程中 我没有在可用版本中看到 JUnit5 这是我为创建
  • 浏览器中自动完成下拉菜单的样式

    例如 在许多网站上 当输入用户名时 会在显示先前输入的位置出现一个下拉菜单 以便用户可以轻松选择某些内容而不用输入 我知道您可以通过让表单或输入具有以下属性来在浏览器中关闭此功能autocomplete off 问题是当我想要它打开并且输入
  • 告诉 `endl` 不要刷新

    我的程序打印大量短行cout 作为一个稍微做作的例子 我的线条看起来有点像这样 cout lt lt The variable s value is lt