在打印到屏幕上之后,用c ++更改字符串

时间:2014-12-15 04:32:21

标签: c++ string

我有一个字符串,我想在它打印到屏幕后更改。

    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
*/

注意:我不打算替换那个包含字符串定义但想要替换屏幕输出的变量。

2 个答案:

答案 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'字符删除,不要忘记刷新缓冲区