更新行变量而不将其打印过来

时间:2017-10-15 04:24:33

标签: variables cout

for(int i=0; i<10;i++){
    cout<< " I value is: "<< i; 
} 

如何打印&#34; i value is:&#34;第一次更新i值后,只有一次。 谢谢你的帮助

2 个答案:

答案 0 :(得分:1)

您的输出必须超出for循环的范围,否则将打印一次。如果将它放在循环中,它将重复打印,直到循环终止。

  

你想要这样的东西:

for( int I =0; i<1 10; i++{

perform calculations involving i;

}
cout<< " I value is: "<< i;    

答案 1 :(得分:0)

cout<< " I value is:";
for(int i=0; i<10;i++) {cout<< " "<< i; } 

这会有用吗?

更新

假设您想在循环中添加“线程休眠”,您可以尝试打印“\ b”以将光标向后移动并覆盖该值,例如:

cout<< " I value is: ";
for(int i=0; i<10;i++) {cout<< "\b"<< i; } 

但是根据您的计算机和编译器,它可能不是您想要的结果。

最终示例(使用Visual Studio Developer命令提示符测试):

#include <iostream>  
#include <chrono>
#include <thread>
using namespace std;  
void main()  
{  
    cout<< " I value is:  ";
    for(int i=0; i<10;i++) 
    {
        cout<< "\b"<< i; 
        std::this_thread::sleep_for(std::chrono::milliseconds(1000));
    } 
}