我正在尝试使用退格控制字符'\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(使用前将#替换为@)