c言語printfが同じ位置で印刷出力を実現する例


コンソールの同じ位置に出力を印刷します。例えば、進捗1%->100%は同じ位置に表示されます。c言語を勉強したばかりの時はずっとやりたいですが、たくさんの資料を調べてはいけません。6年ぶりです。暇な時にまたこの問題を思い出して、試してみることにしました。c言語はもうほとんど忘れてしまいましたが、へへ。最終的には解決しました。今回は運がいいです。ハハ!

#include <stdio.h>
#include <pthread.h>
//#include <sys/time.h>

//linux for sleep(seconds) and usleep(Microsecond)
//#include <unistd.h>

//windows for Sleep(millisecond)
//#include <windows.h> 


//          
pthread_t thread[1]; 

/**
*     
**/
void *printThread(){
 printf("%s
"," "); printf(" :"); for(int i = 1; i <= 100; i++) { if(i==1){ // 3 ,% printf("%3d%%",i); }else{ // 4 printf("\b\b\b\b%3d%%",i); } // (
, ) fflush(stdout); // 1 sleep(1); } } int main(){ printf(" , ,
"); /* */ if(pthread_create(&thread[0], NULL, printThread, NULL)!=0){ printf("
"); } printf("
"); printf(" , ,
"); /* */ pthread_join(thread[0],NULL); printf("

"); return 1; }
コードはmac osでテストに成功しました。windowシステムは、コンパイラにpthreadライブラリを導入する必要があり、参照例WindowsではDev-C++を使って、pthread.hに基づくマルチスレッドプログラムを開発します。
以上のc言語printfは同じ位置のプリント出力を実現した例は、小編集が皆さんに提供した内容の全部を共有しています。皆様に参考にしていただければと思います。どうぞよろしくお願いします。