C語言光標(biāo)旋轉(zhuǎn)與倒計時功能實現(xiàn)示例詳解
1、光標(biāo)旋轉(zhuǎn)
首先問大家一個問題,大家覺得回車與換行是一個相同的概念嗎?
很多人往往把它們兩個當(dāng)作是一個相同的概念,為什么會這么說呢?回想一下'\n',大家覺得這是回車符號呢?還是換行符號呢?好像我們在日常中并沒有特意區(qū)分這兩個概念,我們既說'\n'是一個回車符號,也說這是一個換行符號,這就是我們混淆的表象,但回車與換行確實兩個不同的概念,接下來帶大家了解一下回車與換行吧!
回車:代表的是光標(biāo)回到當(dāng)前行的最開始的位置。
換行:代表的是光標(biāo)移動到下一行。
根據(jù)上面的概念,真正的回車符號應(yīng)該是'\r',即回到當(dāng)前行的起始位置,而我們通常了解的'\n'應(yīng)該是回車換行符,因為它的功能既包括了回車,也包括了換行,即光標(biāo)跳轉(zhuǎn)到下一行的起始位置。
而我們今天講的光標(biāo)旋轉(zhuǎn)功能就是利用了回車符'\r',接下來廢話不多說,直接上代碼!然會根據(jù)代碼給大家進行講解。
#include<stdio.h>
#include<windows.h>
int main()
{
int index = 0;
const char* lable = "|/-\\";// \是特殊字符,如果想取字符本身,就要在前面加'\'
while(1)
{
index %= 4;
printf("[%c]\r", lable[index]);
index++;
Sleep(30);
}
system("pause");
return 0;
}
這個程序首先是定義了一個char類型的數(shù)組lable,里面存儲的元素依次為'| / - \',至于最后為什么用了兩個\\,在程序中已經(jīng)給出了相應(yīng)的解釋,然后構(gòu)造一個死循環(huán),對數(shù)組元素逐個循環(huán)打印,為了保證在打印完尾元素之后打印的是首元素,通過對index對4取余保證數(shù)組下標(biāo)是始終為0~3,這樣保證了數(shù)組元素的循環(huán)打印。
通過'\r'進行回車操作回到輸出行的起始位置保證了每一次的輸出都是在一行的起始位置處進行輸出,然后通過休眠函數(shù)Sleep()進行控制每一次輸出的間隔進而形成動態(tài)效果,這樣就實現(xiàn)了光標(biāo)旋轉(zhuǎn)的功能。
注意:使用休眠函數(shù)需要引用windows.h頭文件,休眠函數(shù)中()內(nèi)的數(shù)字單位為毫秒。
2、倒計時
倒計時功能相對來說并不難實現(xiàn),直接上代碼,然后給大家簡單解釋一下。
#include<stdio.h>
#include<windows.h>
int main()
{
int i = 9;
for(;i>=0;i--)
{
printf("[%d]\r",i);
Sleep(500);
}
system("pause");
return 0;
}
其實這段代碼也是簡單的使用了'\r'與Sleep()休眠函數(shù),然后實現(xiàn)了倒計時的功能。
兩個程序的共同點是均使用了'\r'與Sleep()函數(shù),看吧,這個我們在C語言中忽略的小小的點竟然能發(fā)揮處如此巨大的作用,想不到吧!好了,今天的分享到此結(jié)束,感謝大家的支持,更多關(guān)于C語言光標(biāo)旋轉(zhuǎn)與倒計時功能的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
CString,字符串,整數(shù)等相互轉(zhuǎn)換方法(推薦)
下面小編就為大家?guī)硪黄狢String,字符串,整數(shù)等相互轉(zhuǎn)換方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09
Qt利用QNetwork實現(xiàn)上傳數(shù)據(jù)的示例代碼
這篇文章主要為大家詳細介紹了Qt如何利用QNetwork實現(xiàn)上傳數(shù)據(jù)的 功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-02-02
FFmpeg實現(xiàn)音頻漸響效果參數(shù)值詳解
這篇文章主要為大家介紹了FFmpeg實現(xiàn)音頻漸響效果參數(shù)值詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10
c++中struct和class的區(qū)別小結(jié)
在C++中,class和struct都是用于定義自定義數(shù)據(jù)類型的關(guān)鍵字,本文主要介紹了c++中struct和class的區(qū)別小結(jié),具有一定的參考價值,感興趣的可以了解一下2023-08-08
C/C++?Qt?數(shù)據(jù)庫與TableView實現(xiàn)多組件聯(lián)動

