使用退格控制字符擦除

2024-03-30

我正在尝试使用退格控制字符'\b'删除行尾的尾随逗号。尽管它在没有其他输出的情况下有效stdout,如果之后有另一个输出'\b',它变得毫无用处。这是一个例子:

#include <iostream>

using namespace std;

int main()
{
    int a[] =  { 1, 3, 4, 5, 6, 32, 321, 9};
    for ( int i = 0; i < 8; i++) {
        cout << a[i] << "," ;
    }
    cout << "\b" ;
    //cout << endl;
    return 0;
}

在上面的代码块中,如果该行被注释掉,我们会得到所需的结果,并且数字 9 后面没有逗号。但是,如果该行被取消注释,逗号会重新出现。

在我的程序中,我不希望逗号出现,但希望在 9 之后有一个结束行。我该怎么做?


擦除控制台上最后一个字符的常用方法是使用序列"\b \b"。这会将光标向后移动一个空格,然后写入一个空格以擦除字符,然后再次退格,以便新的写入从旧位置开始。注意\b其本身仅移动光标。

当然,您始终可以首先避免输出逗号:

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

使用退格控制字符擦除 的相关文章

随机推荐

  • pySerial 与 python 2.7 和 3.4 的差异

    我正在开发一个项目 需要通过串口将一些数字从 Windows 10 中的 python 发送到 arduino uno 作为一个简单的测试 我只想通过发送 2 来打开 LED 并通过从命令提示符发送 4 来关闭 LED 尽管我希望最终能够将
  • ScrollView 只能承载一个直接子异常

    我想将图像添加到滚动视图 我尝试使用以下代码 ScrollView sv ScrollView findViewById R id scrollView2 ImageView iv new ImageView this iv setImag
  • Android Studio - Flutter 插件未安装;这增加了 Flutter 特定的功能

    考虑到我已经遵循了所有这些步骤https flutter dev docs get started install linux https flutter dev docs get started install linux在我的 Ubun
  • 使用空格键启动和停止 Python 海龟

    我正在尝试编写一个程序 通过按空格键来启动和停止乌龟 我得到了启动乌龟移动的代码 但当我再次按下它时它并没有停止 看来只是提高速度而已 这是我的编码要求和我输入的代码 创建一个包含三个函数的乌龟程序来控制乌龟 创建一个名为 turnLeft
  • Twitter Bootstrap Carousel 的表达式引擎频道条目无法正常工作

    好的 我在通过 ExpressionEngine 的频道条目实现基本的 Twitter 引导轮播时遇到问题 我认为这与以下事实有关 您必须将第一个 li 标记指定为 活动 以便引导程序知道页面加载时显示哪个图像 但我的代码如下 div cl
  • Java的for循环有没有针对线程安全的优化?

    我有一段代码可以更改两个线程中的计数器 它不是线程安全的 因为我没有在代码中放置任何原子变量或锁 如果代码只运行一次 它会给出正确的结果 但我想运行它多次 所以我将代码放入 for 循环中 问题是只有第一个或前两个循环才会生成我期望的结果
  • Play 2.0 - 服务器重新启动后作为 Windows 服务启动

    我有游戏 作为 Windows 服务运行的应用程序 它是根据this http naoki sato name lab archives 263指导 问题是RUNNING PID当服务器重新启动时 应用程序根文件夹中的内容不会被删除 并且应
  • 为什么Java的hashCode不支持通用哈希?

    一些哈希表方案 例如布谷鸟哈希 http en wikipedia org wiki Cuckoo hashing or 动态完美哈希 http en wikipedia org wiki Dynamic perfect hashing 依
  • Scala 未绑定占位符参数

    我使用以下代码来满足我的需求 1 to 5 map i gt s x i Produces List x1 x2 x3 x4 x5 但我想使用占位符 根据字符串插值器文档 http docs scala lang org overviews
  • 如何将 IntPtr 转换为 int

    有时是窗把手int以及其他时间类型IntPtr int例子 DllImport user32 dll static extern uint GetWindowThreadProcessId int hWnd int ProcessId In
  • Eclipse 法语支持

    我需要在 eclipse 中输入一些法语字符 如何配置 eclipse 输入法语 我确实拥有默认 Eclipse 包装附带的所有字体 首选项 常规 工作区 文本文件编码 在我的配置中 我看到 Cp1252 可能是在我的操作系统当前设置之后设
  • 如何在 Docker 容器内运行 OpenCL + OpenGL?

    目的是在 Docker 容器内运行 OpenCL OpenGL 互操作 应用程序 但我还没有成功 Intro 我有配备 NVidia 显卡的笔记本电脑 因此我认为利用 NVidia Dockerfiles 1 2 将是一个很好的起点 以下
  • PCRE 中是否有“否定交替”或“否定字符串类”、“否定字符类”之类的东西?

    好吧 虽然模式 abc 匹配单个字符a b or c 模式 abc 匹配任何给定的字符isn t a b or c 现在如果我替换string for 特点在上面的声明中 如果我也将第一个模式更改为交替结构 那么它仍然适用 abc def
  • 在 jitpack 中获取“buildscript {} 块必须出现在任何插件 {} 块之前”错误

    我正在尝试使用 jitpack 发布我的 android 库 但得到buildscript blocks must appear before any plugins blocks error FAILURE Build failed wi
  • 我应该如何调整我的代码以实现 TBytes 和 TIdBytes 之间的兼容性?

    我遇到了与 中提到的相同的问题 Delphi XE4 Indy TBytes 和 TidBytes 之间的兼容性问题 https stackoverflow com questions 16339656 delphi xe4 indy co
  • 关闭连接后继续处理[重复]

    这个问题在这里已经有答案了 PHP 有没有办法关闭连接 本质上告诉浏览器没有更多数据 但继续处理 我想到的具体情况是 我想要提供缓存数据 那么如果缓存已过期 我仍然会提供缓存数据以获得快速响应 关闭连接 但继续处理以重新生成并缓存新数据数据
  • R-如何使用两种不同的调查设计进行双样本 t 检验

    我想对两个均值的相等性进行双样本 韦尔奇 t 检验 其中之一是使用简单随机抽样获得的 srsmean 另一个是使用调查包的调查权重计算得出的 mean weighted 我还进行了 t 检验mean weighted以及在调查设计中同时实施
  • Orion 的 Freeboard 数据源与 Context Broker 之间没有连接

    我一直在尝试连接 Freeboard 以可视化来自 OCB 的上下文信息 但是遇到了一些困难 导致我无法从那里接收任何数据 我的想法是 将Freeboard连接到OCB有问题 因为在OCB的订阅列表中没有任何新条目 并且Freeboard中
  • Visual Studio 2020 如何阻止选项卡中的文件名被缩短

    在 Visual Studio 对我来说是 2020 中 打开文件的文件名写在屏幕顶部的选项卡中 如果文件名太长 它会自动缩短 即代替真正的长文件名 cs它会说真的L lename cs 我想要显示整个文件名 我意识到我可以将鼠标悬停在选项
  • 使用退格控制字符擦除

    我正在尝试使用退格控制字符 b 删除行尾的尾随逗号 尽管它在没有其他输出的情况下有效stdout 如果之后有另一个输出 b 它变得毫无用处 这是一个例子 include