0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言的printf是行緩沖輸出,什么意思呢?

STM32嵌入式開發(fā) ? 來源:STM32嵌入式開發(fā) ? 2023-08-08 16:23 ? 次閱讀

進度條的應(yīng)用在軟件中無處不在,拷貝一個文件需要一個進度條,加載一個文件也需要一個進度條,來標志完成與否。

那么 ,一個進度條有哪些元素呢:

一個不斷向右生長的容器(直觀的看出當(dāng)前的進度)

一個數(shù)據(jù)化反映進度的百分比。

一個標志(這個標志反映這個進度條是否在工作,還是卡死

首先我們需要將[ ]固定在左右兩邊,中間預(yù)留下空間,然后用“=”進行填充。這里printf("[%-101s] ",str); 格式化輸出,‘-’表示左對齊,100表示固定列寬,然后‘ ’ 表示回車,即每次打印完使光標回到最開始位置。

再明確一下,‘ ’和‘ ’這兩個概念:‘ ’表示換行,換到當(dāng)前行的下一行,即光標指向下一行最開始的位置;' '指回車,即光標回到最開始位置。

如果不加睡眠時間,結(jié)果一下就全打印出來了,但我們想讓它稍微慢一點,畢竟是進度條嘛,而Linux系統(tǒng)下默認sleep時間單位為秒(s),這樣的話又覺得間隔時間太長了,于是就有了usleep,它是以微妙計的。

C語言的printf是行緩沖輸出,什么意思呢?就是說不滿一行不輸出,就是靠 輸出的,沒有 只好強制把緩沖中的數(shù)據(jù)輸出出所以這就 要用到函數(shù)fflush()。

程序源代碼:

9aa59222-35c2-11ee-9e74-dac502259ad0.png ????

效果如下圖所示:

9ac871a2-35c2-11ee-9e74-dac502259ad0.gif






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 緩沖器
    +關(guān)注

    關(guān)注

    6

    文章

    1922

    瀏覽量

    45487
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    593

    瀏覽量

    27397
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136840
  • printf函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    5893

原文標題:基于C語言的進度條,附代碼

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    C語言基礎(chǔ)知識(2)--標準輸入輸出

    printfC語言的標準輸出函數(shù),一般用于向標準輸出設(shè)備按規(guī)定格式輸出信息。
    的頭像 發(fā)表于 06-12 14:21 ?5996次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>基礎(chǔ)知識(2)--標準輸入<b class='flag-5'>輸出</b>

    C語言printf函數(shù)族學(xué)習(xí)筆記

    printf 應(yīng)該是學(xué)習(xí)C語言的第一個函數(shù),我們都知道它是用于字符串格式化輸出的。但是它的用法你真正了解了嗎?
    的頭像 發(fā)表于 11-24 11:15 ?970次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>printf</b>函數(shù)族學(xué)習(xí)筆記

    如何去使用printf這個C語言常用的打印輸出函數(shù)

    如何去實現(xiàn)基于C庫的printf函數(shù)?如何去使用printf這個C語言常用的打印
    發(fā)表于 11-30 06:41

    printf()函數(shù)怎樣才能像C語言一樣輸出打印信息

    printf()函數(shù)怎樣才能像C語言一樣輸出打印信息
    發(fā)表于 12-01 07:58

    c語言printf()輸出格式大全

    c語言printf()輸出格式大全,簡潔明了,適合新手觀看
    發(fā)表于 06-23 18:14 ?8次下載

    基于STM32的printf串口數(shù)據(jù)輸出

    該方法適用于 STM32 ,實現(xiàn)了使用printf等標準C流函數(shù)輸出數(shù)據(jù)的辦法,極大的減少了輸出 串口數(shù)據(jù) 時所需要做的數(shù)據(jù)處理。 實現(xiàn)原理 在C
    發(fā)表于 06-21 07:51 ?2w次閱讀
    基于STM32的<b class='flag-5'>printf</b>串口數(shù)據(jù)<b class='flag-5'>輸出</b>

    什么是串口通信?基于STM32的printf打印輸出

    平時我們進行c語言編程的時候會經(jīng)常用到printf函數(shù)進行打印輸出,來調(diào)試代碼??墒沁@個printf函數(shù)
    發(fā)表于 06-22 09:08 ?1.4w次閱讀
    什么是串口通信?基于STM32的<b class='flag-5'>printf</b>打印<b class='flag-5'>輸出</b>

    C語言printf格式化輸出的實例詳細資料說明

    printfC語言非常有用的一個函數(shù),也是我們?nèi)腴T學(xué)習(xí)C語言的第一個函數(shù)。掌握 printf
    的頭像 發(fā)表于 02-24 10:53 ?4704次閱讀

    解析C語言入門基礎(chǔ)之輸入和輸出

    01 — 標準輸入和標準輸出C語言里要使用標準輸入和標準輸出必須包含stdio.h頭文件,常用的標準輸出和標準輸入函數(shù)是
    的頭像 發(fā)表于 05-31 14:05 ?3793次閱讀

    探索C語言入門基礎(chǔ)之緩沖區(qū)

    01 — C標準庫緩沖區(qū)探索 在計算機里緩存是一個很重要的概念,C標準庫里大量使用了緩存,最為典型的就是標準輸入和標準輸出的緩存,關(guān)于C
    的頭像 發(fā)表于 06-28 17:24 ?2138次閱讀
    探索<b class='flag-5'>C</b><b class='flag-5'>語言</b>入門基礎(chǔ)之<b class='flag-5'>緩沖</b>區(qū)

    通過串口利用printf函數(shù)輸出數(shù)據(jù)

    一。printf函數(shù)格式printf函數(shù)具有強大的輸出功能%表示格式化字符串輸出目前printf支持以下格式的
    發(fā)表于 12-28 19:11 ?11次下載
    通過串口利用<b class='flag-5'>printf</b>函數(shù)<b class='flag-5'>輸出</b>數(shù)據(jù)

    C語言printf()輸出格式

    printf 的格式控制的完整格式:% - .n l 或 h 格式字符 下面對組成格式說明的各項加以說明: ①%:表示格式說明的起始符號,不可缺少。 ②-:有-表示左對齊輸出,如省略表示右對齊輸出。 ③0:有 0 表示指定空位填
    發(fā)表于 01-13 16:42 ?0次下載

    C語言printf輸出函數(shù)的用法

    輸出是以計算機主機為主體而言的,從計算機向輸出設(shè)備輸出數(shù)據(jù)稱為輸出,C語言本身不包含
    的頭像 發(fā)表于 03-09 10:55 ?1518次閱讀

    printf輸出重定向的方法

    在 PC 上運行 C 語言時,prinf 輸出的內(nèi)容會打印在電腦顯示器上,這是因為 prinf 默認的輸出設(shè)備就是顯示器。而當(dāng)我們在單片機上,需要通過
    的頭像 發(fā)表于 05-14 16:22 ?5320次閱讀
    <b class='flag-5'>printf</b><b class='flag-5'>輸出</b>重定向的方法

    c語言printf輸出空格間隔

    C語言中,需要在printf輸出中添加空格間隔可以通過多種方式實現(xiàn)。這個空格間隔可以用于對輸出進行格式化使其更加易讀、美觀。在接下來的文章中
    的頭像 發(fā)表于 11-24 09:56 ?6458次閱讀