所以我输出了一串各种ASCII字符。此程序涉及修改此字符串的一部分,然后重新显示。
我没有清除整个屏幕并重新显示所有产生不必要闪烁效果的内容,而是决定移动光标,然后只重写已更改的字符。
我用SetConsoleCursorPosition移动光标,这是windows.h的一部分。
然而,一旦我尝试并尝试某些东西,它就会将前面的所有文本推到前面;另一种不受欢迎的影响。
为了解决此问题,我尝试了各种形式的' cout<<" \ b&#34 ;;'删除旧的,未修改的字符。但是没有任何影响,或者它实际上增加了一个空间,这显然不是一个理想的效果。
我在某处读到,为了删除实际上必须使用两次转义序列的不需要的字符,例如:' \ b \ b',因为第一个将光标移回空格,第二个用空格('')或类似的东西覆盖前面的字符。
' \ B \ B'毫不奇怪,也没有工作。或者这可能令人惊讶,我实际上并不知道。
我的问题是:如何删除不需要的字符?或者更好的是,如何覆盖已用新文本输出的文本?
编辑:我道歉,我正在运行Windows 7