我有一个字符串,我想在它打印到屏幕后更改。
string str = "Calculating..."
string str2 = "Results:"
cout << str << endl; //this prints out
/*then later on in the program I want to OVERWRITE the string printed on the screen with str2
*/
注意:我不打算替换那个包含字符串定义但想要替换屏幕输出的变量。
答案 0 :(得分:4)
对于许多控制台,您可以使用'\r'
erase 覆盖控制台中的最后一行。
对于更通用和可移植的方法,您应该使用终端控制库,例如curses。
答案 1 :(得分:1)
#include <iostream>
#include <cstdio>
#include <unistd.h>
using namespace std;
int main(){
for(int i = 1;i <= 10;i++){
cout << i;
fflush(stdout);
sleep(1);
cout << "\r";
fflush(stdout);
}
}
如果您使用的是Linux,我认为这段代码会起作用。 使用'\ r'字符删除,不要忘记刷新缓冲区