c語(yǔ)言printf實(shí)現(xiàn)同一位置打印輸出的實(shí)例
控制臺(tái)同一位置打印輸出,例如:進(jìn)度1%->100%在同一位置顯示。剛學(xué)習(xí)c語(yǔ)言的時(shí)候一直想做起來(lái),可惜查詢好多資料不行。時(shí)隔6年多,空閑之余又想起這個(gè)問(wèn)題,便決定一試,雖然c語(yǔ)言已經(jīng)幾乎忘光了,呵呵。最終還是搞定了,這次運(yùn)氣不錯(cuò),哈哈! ^_^
#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> //創(chuàng)建線程函數(shù)返回類型 pthread_t thread[1]; /** * 線程函數(shù) **/ void *printThread(){ printf("%s\n","線程開(kāi)始處理任務(wù)"); printf("已經(jīng)處理了:"); for(int i = 1; i <= 100; i++) { if(i==1){ //數(shù)字占3格,%占一格 printf("%3d%%",i); }else{ //退4格 printf("\b\b\b\b%3d%%",i); } //即時(shí)標(biāo)準(zhǔn)輸出(不帶\n,不刷新不行) fflush(stdout); //延時(shí)1秒 sleep(1); } } int main(){ printf("我是主函數(shù)哦,我正在創(chuàng)建線程,呵呵\n"); /*創(chuàng)建線程*/ if(pthread_create(&thread[0], NULL, printThread, NULL)!=0){ printf("線程創(chuàng)建失敗\n"); } printf("線程創(chuàng)建成功\n"); printf("我是主函數(shù)哦,我正在等待線程完成任務(wù)阿,呵呵\n"); /*等待線程結(jié)束*/ pthread_join(thread[0],NULL); printf("\n線程已經(jīng)結(jié)束\n"); return 1; }
代碼是在mac os下測(cè)試成功的。window系統(tǒng)需要在編譯器中引入pthread庫(kù),參考實(shí)例 Windows下使用Dev-C++開(kāi)發(fā)基于pthread.h的多線程程序
以上這篇c語(yǔ)言printf實(shí)現(xiàn)同一位置打印輸出的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C語(yǔ)言詳解無(wú)頭單向非循環(huán)鏈表各種操作方法
無(wú)頭單向非循環(huán)鏈表:結(jié)構(gòu)簡(jiǎn)單,一般不會(huì)單獨(dú)用來(lái)存數(shù)據(jù)。實(shí)際中更多是作為其他數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),如哈希桶、圖的鄰接表等等。另外這種結(jié)構(gòu)在筆試面試中出現(xiàn)很多2022-04-04C++實(shí)現(xiàn)LeetCode(24.成對(duì)交換節(jié)點(diǎn))
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(24.成對(duì)交換節(jié)點(diǎn)),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C語(yǔ)言之包含min函數(shù)的棧實(shí)例詳解
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言之包含min函數(shù)的棧,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02利用C/C++二進(jìn)制讀寫(xiě)png文件的方法示例
最近在做項(xiàng)目的時(shí)候遇到了這個(gè)問(wèn)題,所以想著總結(jié)下,方法自己和有需要的朋友,下面這篇文章主要介紹了利用C/C++二進(jìn)制讀寫(xiě)png文件的方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2016-12-12OpenCV基于背景減除實(shí)現(xiàn)行人計(jì)數(shù)
本文主要介紹了如何使用OpenCV C++對(duì)視頻中的人流量進(jìn)行統(tǒng)計(jì)。文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)OpenCV有一定的幫助,需要的可以了解一下2022-01-01線段樹(shù)詳解以及C++實(shí)現(xiàn)代碼
線段樹(shù)在一些acm題目中經(jīng)常見(jiàn)到,這種數(shù)據(jù)結(jié)構(gòu)主要應(yīng)用在計(jì)算幾何和地理信息系統(tǒng)中,這篇文章主要給大家介紹了關(guān)于線段樹(shù)以及C++實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2021-07-07C語(yǔ)言動(dòng)態(tài)內(nèi)存管理分析總結(jié)
C語(yǔ)言中開(kāi)辟內(nèi)存有很多種方式,目前我們最常用的也就是數(shù)組,但數(shù)組是在我們用到他之前就得設(shè)定好它的長(zhǎng)度,有時(shí)很不方便。隨意我們來(lái)探究動(dòng)態(tài)內(nèi)存管理2021-11-11