【发布时间】:2014-07-26 03:31:01
【问题描述】:
如何删除已打印并加载到缓冲区中的换行符?据我所知,\b 字符仅将光标移回当前行,并且不适用于换行符。我该如何解决这个问题?
如果对问题进行编辑以表明这个不受欢迎的换行符是如何发出的,那将会很有帮助。 – Mahonri Moriancumer
这其实不是不可取的。我想在输出另一种状态之前用缓冲区的一种状态预览用户。但是,我不想连续显示多个缓冲区状态。例如,假设我要显示两个矩阵,
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
和
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
我希望第二个矩阵替换第一个。为此,我需要删除第一个矩阵的输出数字。
也许您可能会考虑再次编辑您的问题并指出操作系统和/或终端类型?
当前运行 Linux (Ubuntu) x64,使用 xterm(确切地说是 ROXTerm)。
【问题讨论】:
-
在缓冲区的第 (last-1) 个索引中添加 /0 字符,可能会有所帮助
-
您可以找到换行符的位置(参见strstr(s, "\n"))并截断字符串(在行尾放置'\0'(而不是'\n'))
-
如果对问题进行编辑以指示此不受欢迎的换行符是如何发出的,将会很有帮助。
-
您说的是
stdout缓冲区,还是您自己制作的内存缓冲区?如果是前者,你会得到的建议是“不要那样做”。 -
@user3386109 这是一个
stdout缓冲区。