c言語printfが同じ位置で印刷出力を実現する例
コンソールの同じ位置に出力を印刷します。例えば、進捗1%->100%は同じ位置に表示されます。c言語を勉強したばかりの時はずっとやりたいですが、たくさんの資料を調べてはいけません。6年ぶりです。暇な時にまたこの問題を思い出して、試してみることにしました。c言語はもうほとんど忘れてしまいましたが、へへ。最終的には解決しました。今回は運がいいです。ハハ!
以上のc言語printfは同じ位置のプリント出力を実現した例は、小編集が皆さんに提供した内容の全部を共有しています。皆様に参考にしていただければと思います。どうぞよろしくお願いします。
#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は同じ位置のプリント出力を実現した例は、小編集が皆さんに提供した内容の全部を共有しています。皆様に参考にしていただければと思います。どうぞよろしくお願いします。