在 IOStreams 库中使用ignore(numeric_limits::max()) 是否可以处理任意大量的流?

2024-02-03

在 C++ 标准(第 27.6.1.3\24 节)中,对于 流媒体ignore()IOStreams 库中的函数,这意味着如果您为“n”提供一个参数numeric_limits::max(),它将继续忽略字符 永远直到找到分隔符,甚至远远超出实际 流大小的最大值(即“n”参数被解释为无限)。

对于 gcc 实现来说,这确实是这样的ignore()已实施,但我仍然不清楚 这是特定于实现的还是标准强制要求的。 熟悉这一点的人可以确认这是由一个保证的吗? 符合标准的 iostreams 库?


标准说numeric_limits<streamsize>::max()是一个特殊值,不影响跳过的字符数。

效果:表现为未格式化的输入函数(如 27.7.2.3 第 1 段所述)。构造哨兵对象后,提取字符并丢弃它们。字符将被提取,直到发生以下任一情况:
- 如果n != numeric_limits<streamsize>::max()(18.3.2),提取n个字符
-- 文件结束发生在输入序列上(在这种情况下,函数调用 setstate(eofbit),这可能会抛出 ios_base::failure (27.5.5.4));
-- Traits::eq_int_type(traits::to_int_type(c), delim) 用于下一个可用输入字符 c(在这种情况下,将提取 c)。

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

在 IOStreams 库中使用ignore(numeric_limits::max()) 是否可以处理任意大量的流? 的相关文章

随机推荐

  • 一州内的县等值区域地图

    我正在努力定制并找到正确的代码来构建分区统计图 我正试图通过特定州的县来获取企业的利润 到目前为止 我所做的是能够绘制我的代码 尽管使用了我不想要的调色板和不希望出现的中断 library choroplethr library ggplo
  • 同步 android gradle appcompat 27.0.1

    我是 android studio 的新手 不确定 gradle 设置 我已经下载了 Android API 27 这是我得到的错误 错误 无法解决 app debug compileClasspath 的依赖关系 无法解析 com and
  • WebGL 中的透明纹理行为

    环境 WebGL Chrome 当使用透明 png 作为模型纹理时 我有以下行为 图像 A 树将建筑物隐藏在其后面 我看到了世界框纹理 它也隐藏自己 后面的分支不可见 同时 图像 B 工作正常 窗口是透明的 我可以看到后面的内容 A B 两
  • 如何匹配Python中封装在列表中的两个字典的键?

    我有两本词典 位于列表中 该列表如下所示 10 1 1 0 1 10 1 1 1 2 10 1 1 0 3 10 1 1 1 4 我需要的是相同的键 即匹配的 ip 我想要相应的数字或值 因此示例输出如下所示 10 1 1 0 1 10 1
  • 优雅地停止 Docker 容器

    我无法理解当容器停止时如何进行一些清理 为了方便起见 我准备了一个示例来重现该问题 以下是我的文件的内容 Dockerfile FROM opensuse latest Install tcsh non interactive mode R
  • 如何使用MACROS(VBA)获取Excel中最后一个非空单元格的地址

    我想获取 Excel 工作表中最后一个非空单元格的单元格地址 基本上我想要最后一个非空单元格的行号和列号 名称 我发现很少有答案可以找出最后一个非空单元格中的值 但我需要单元格地址而不是内容 对于这样的数据 大多数人都希望找到Blue ce
  • 如何在默认的 Eclipse XML 编辑器中显示拼写建议列表?

    我启用了默认的 Eclipse 拼写检查器 当我在 Java 编辑器中工作时检测到拼写错误时 我可以使用Ctrl 1显示建议的拼写更正列表 然而 当我使用默认的 XML 编辑器时 Ctrl 1似乎不起作用 拼写错误的单词 主要是在评论中 正
  • preg_split 意外行为

    I use 预分割 http php net manual en function preg split php如下
  • 无法推送到 Google 容器注册表(无法访问存储库)

    每当我尝试从本地计算机将容器推送到 Google 容器注册表时 都会收到以下错误 被拒绝 无法访问存储库 请检查您是否有权访问它 如果我打开 Cloud Shell 我可以毫无问题地推送容器 我曾多次尝试执行 gcloud auth log
  • 如何使用 EclipseLink 和 Spring 配置动态编织?

    如何使用 EclipseLink 和 Spring 配置动态编织 现在我正在尝试让它与 Junit 测试一起工作 但稍后我必须让它与 Tomcat 一起工作 我的部门已经标准化它大约 10 年了 我遇到两个主要问题 1 Spring需要一个
  • 矩阵中元素的频率 - Matlab

    从我在 matlab 中运行的函数中我得到一个 225x400 矩阵 我想计算这个矩阵中每个元素的频率 这意味着我需要计算每个元素在矩阵上出现的次数 我的矩阵名称是 Idiff 我在用 B unique Idiff 找到 Idiff 矩阵中
  • Android TV以编程方式切换HDMI输入端口

    我想问一下经验丰富的程序员 是否有一种方法可以通过直接安装在电视 Sony Bravia 上的应用程序以编程方式切换 HDMI 输入端口 比方说 在应用程序启动时 电视将其输入切换为 HDMI3 Android 中有通用的 API 还是特定
  • 消除外边距 (Ggplot2 / geom_sf)

    我一直想知道是否可以避免 Ggplot2 包含这个外部边距 绘图区域周围黑框之外的空白区域 我认为又名绘图边距 下面是我的代码 我可以很好地控制绘图边距 但我尝试了不同的方法来减少外部边距 但到目前为止没有任何效果 我还想澄清一下 我知道在
  • 具有特殊条件的子集和

    在您回复另一个问题的链接或将其作为重复项关闭之前 请仔细阅读该问题 这与该问题的标准变体不同 我已经搜索了很长时间 所以我很确定没有这里没有这样的问题 我需要找到是否最小可能的S这是一些的总和X i 的子集那是 gt T 某个目标值 小于全
  • elasticsearch索引已删除

    我的 Elasticsearch 服务器面临严重问题 我在 symfony2 项目上使用 ES 1 7 和 fosElasticaBundle 今天ES索引被删除了两次 我也搞不懂为什么 以下是我可以在 cluster log 中读取的日志
  • Tensorflow 入门 - 将图像分割为子图像

    这是我第一次使用卷积神经网络和 Tensorflow 我正在尝试实现一个能够extract来自数字视网膜图像的血管 我正在与公开可用的驱动数据库 http www isi uu nl Research Databases DRIVE 图像为
  • 将 C++ 中的 unicode 字符串转换为大写

    我们如何在 C 或 C 中将多语言字符串或 unicode 字符串转换为大写 小写 如果您的系统已经采用 UTF 8 请使用std use facet http en cppreference com w cpp locale use fa
  • laravel:在 null 上调用成员函数 delete()

    当我尝试通过单击删除按钮向帖子添加删除功能时 出现此错误 我哪里做错了 删除PostController中的post函数 public function getDeletePost post id post Post where id po
  • 在 bash 中将数组作为参数传递

    如何将数组作为参数传递给 bash 函数 你可以通过多个数组作为参数使用这样的东西 takes ary as arg declare a argAry1 1 echo argAry1 declare a argAry2 2 echo arg
  • 在 IOStreams 库中使用ignore(numeric_limits::max()) 是否可以处理任意大量的流?

    在 C 标准 第 27 6 1 3 24 节 中 对于 流媒体ignore IOStreams 库中的函数 这意味着如果您为 n 提供一个参数numeric limits max 它将继续忽略字符 永远直到找到分隔符 甚至远远超出实际 流大