我們平常在下載軟件或者安裝軟件時(shí)都會(huì)看到進(jìn)度條,下面我們分析一下,并實(shí)現(xiàn)一個(gè)簡(jiǎn)易的進(jìn)度條
1、首先我們用[]固定在左右兩邊,中間預(yù)留空間,然后用'='進(jìn)行填充在這里我們用"="表示1%,通過(guò)增加字符
來(lái)保證進(jìn)度的增加。printf("[%-100s]\r",str); 格式化輸出。'-'表示左對(duì)齊 100表示列寬,'\r'表示回車(chē),即每
次打印完使光標(biāo)回到行首在這里需要解釋一下'\r'和'\n'這兩個(gè)概念
回車(chē):'\r',表示回到當(dāng)前行的行首
換行:'\n',表示光標(biāo)進(jìn)入下一行
2、加睡眠時(shí)間,如果不加睡眠時(shí)間,結(jié)果一下就全打印出來(lái),那就不是進(jìn)度條了。
linux下sleep時(shí)間單位為秒,這樣的話(huà)感覺(jué)間隔時(shí)間有點(diǎn)長(zhǎng),于是又有了usleep函數(shù)
我們可以通過(guò)man 來(lái)查看這連個(gè)函數(shù):
3、在觀(guān)察程序輸出結(jié)果是會(huì)發(fā)現(xiàn)它是一段一段顯示,這和我們平常見(jiàn)到的
進(jìn)度條不一樣。究其原因,發(fā)現(xiàn)是printf()的原因,,printf是先將要輸出的內(nèi)容