2011-06-08 22 views
2

我想知道是否有一種方式顯示在C中的消息,如:「消息」:變量,和變量修改自己。就像加載程序時一樣,你會看到: 加載23%.. 24%等等。非常感謝(通過顯示一個消息我的意思是一個簡單的printf)顯示問題在C

回答

7

您可以通過使用回車(假設您的命令行正確處理這些命令行)在命令行上獲得粗略的近似值。

#include <stdio.h> 
#include <unistd.h> 

int spin (void) { 
    int i = 0; 
    for (; i < 1000; i++) { 
     printf("%d\r", i); 
     sleep(1); 
    } 
    return 0; 
} 
+0

1000秒一個* loooooong *時間睡覺... – 2011-06-08 20:50:42

+0

哈哈[R非常真實的 - 我的意思是usleep出現,使人們正好眠(1) ; – zellio 2011-06-08 21:05:24

4

可以使用回車(\r),而不是換行(\n)返回到當前行的開始......下一個printf()將覆蓋前一個。

0

嘗試打印退格"\b"

#include <stdio.h> 
#include <unistd.h> /* sleep */ 

int main(void) { 
    int k; 

    printf("Percentage completed: "); 

    for (k = 0; k < 100; k++) { 
    printf("%3d%%", k); 
    fflush(stdout); 

    { /* work */ 
     sleep(1); 
    } 

    printf("\b\b\b\b"); 
    fflush(stdout); 
    } 

    printf("100%%\n"); 
    return 0; 
} 
+1

我會使用'\ r' ...它比'\ b'更可靠,例如如果用戶不小心鍵入了一些字符。 – 2011-06-08 20:51:33