国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Linux】Linux小程序-進度條

這篇具有很好參考價值的文章主要介紹了【Linux】Linux小程序-進度條。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

????????一、\r和\n的理解

????????二、行緩沖區(qū)概念

????????三、進度條源代碼


一、\r和\n的理解

\r:回車;

\n:換行;

? ? 那么請問這兩個有什么區(qū)別呢?

? ? 比如:我們在編寫內(nèi)容的時候,一行沒有寫完的情況下,需要換到下一行的開始位置,此時需要兩個步驟:

? ? (1)讓光標從第一行跳到第二行,但是光標只是垂直向下跳,并沒有在第二行的開始。這個操作就是換行(\n)。

? ? (2)在第二行讓光標跳到最開始的位置,這個操作就是回車(\r)

????話不多說,我們進行下面的例子,就可以一目了然,

? ? <1>\n和\r都存在

?既有回車又有換行,所以執(zhí)行完命令之后,光標會在下一行的開頭。

?【Linux】Linux小程序-進度條

? ? <2>?\n存在

只有換行的時候,我們運行出來和上面第一種情況相同,原因是,在C語言環(huán)境下,自動將其簡化,此時的\n就表示回車加換行。

【Linux】Linux小程序-進度條

? ? ?<3>\r存在?

只有回車,我們可以想象到運行的結(jié)果是什么樣,答案是:什么都不顯示。為什么呢?

  • 回車之后,光標來到了文本行的開始位置,此時linux的命令行就會從光標處開始,將我們的文本覆蓋掉,我們就什么也看不到。

?【Linux】Linux小程序-進度條

二、行緩沖區(qū)概念

首先先看看下面3段代碼的現(xiàn)象:?

#include <stdio.h>
#include <unistd.h>
int main()
{
    printf("hello world!\n");
    sleep(3);
    return 0;
}

結(jié)果:直接打印出hello world!,然后停留3秒之后換行給出新的命令。??

【Linux】Linux小程序-進度條

#include <stdio.h>
#include <unistd.h>
int main()
{
    printf("hello world!");
    sleep(3);
    return 0;
}

剛開始不顯示,停留3秒之后,在一行中顯現(xiàn)hello world!和新的命令行。??

說明在剛開始運行的時候,數(shù)據(jù)被存在行緩沖區(qū)中的,3秒過后,才刷新出來。

#include <stdio.h>
#include <unistd.h>
int main()
{
    printf("hello world!");
    fflush(stdout);
    sleep(3);
    return 0;
}

?直接顯現(xiàn)hello world!,然后停留3秒之后,在其后面直接給出新的命令行。

三、進度條源代碼

(1)proc.h

#pragma once                                                                                                                     
 
#include <stdio.h>

void process();                       

(2)proc.c?

void  process()
{
  const char *lable = "|/-\\";
  char bar[SIZE];
  memset(bar,0,sizeof(bar));
  int i = 0;
  while(i<=100)
  {
    printf("\033[42;32;31m[%-100s\033[0m][%d%%][%c]\r",bar,i,lable[i%4]);
    fflush(stdout);
    bar[i++]=STYLE;
    usleep(100000);
  }
  printf("\n");
}

(3)main.c?

#include "proc.h"

int main()
{
  process();
  return 0;
}

運行結(jié)果:

【Linux】Linux小程序-進度條


?本文要是有不足的地方,歡迎大家在下面評論,我會在第一時間更正。

【Linux】Linux小程序-進度條文章來源地址http://www.zghlxwxcb.cn/news/detail-459174.html

?老鐵們,記著點贊加關注!!!

到了這里,關于【Linux】Linux小程序-進度條的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【Linux】深入理解文件緩沖區(qū)

    【Linux】深入理解文件緩沖區(qū)

    問題引入 首先看一段代碼: 運行代碼,結(jié)果如下: 如果此時將輸出結(jié)果重定向一下: 會發(fā)現(xiàn) printf 、 fwrite 都打印了兩次。 究其原因,就要談到緩沖區(qū)和緩沖區(qū)刷新策略的概念了。 如何理解緩沖區(qū) 假設你在青島,你要從網(wǎng)上買一件商品,商家所在地是北京。你不會跑去北

    2024年02月11日
    瀏覽(27)
  • Linux之緩沖區(qū)的理解

    Linux之緩沖區(qū)的理解

    目錄 一、問題引入 二、緩沖區(qū) 1、什么是緩沖區(qū) 2、刷新策略 3、緩沖區(qū)由誰提供 4、重看問題 三、緩沖區(qū)的簡單實現(xiàn) 我們先來看看下面的代碼:我們使用了C語言接口和系統(tǒng)調(diào)用接口來進行文件操作。在代碼的最后,我們還使用fork函數(shù)創(chuàng)建了一個子進程。 ?代碼運行結(jié)果如

    2024年02月03日
    瀏覽(25)
  • 【Linux】基礎IO----理解緩沖區(qū)

    【Linux】基礎IO----理解緩沖區(qū)

    作者:?舊言~ 座右銘:松樹千年終是朽,槿花一日自為榮。 目標:理解緩沖區(qū) 毒雞湯:有些事情,總是不明白,所以我不會堅持。早安! 專欄選自:Linux初階 望小伙伴們點贊??收藏?加關注喲???? 緩沖區(qū)大家其實不陌生,像我們使用的 VS2019 編譯器這里就有緩沖區(qū),那它

    2024年04月13日
    瀏覽(21)
  • 【linux基礎I/O(二)】文件系統(tǒng)講解以及文件緩沖區(qū)的概念

    【linux基礎I/O(二)】文件系統(tǒng)講解以及文件緩沖區(qū)的概念

    ??博主CSDN主頁:杭電碼農(nóng)-NEO?? ? ?專欄分類:Linux從入門到精通? ? ??代碼倉庫:NEO的學習日記?? ? ??關注我??帶你學更多操作系統(tǒng)知識 ? ???? 對于文件來講,有打開的在內(nèi)存中 的文件,也有沒有打開的在磁盤上 文件,上一篇文章講解的是前者,本篇 文章將帶大家了解后

    2024年01月19日
    瀏覽(33)
  • Linux文件系列: 深入理解緩沖區(qū)和C標準庫的簡單模擬實現(xiàn)

    Linux文件系列: 深入理解緩沖區(qū)和C標準庫的簡單模擬實現(xiàn)

    至此,我們理解了緩沖區(qū)的概念和作用,下面我們來簡易模擬實現(xiàn)一下C標準庫 我們要實現(xiàn)的是: 1.文件結(jié)構(gòu)體的定義 1.首先要有一個文件結(jié)構(gòu)體: 刷新策略分別宏定義為 2.myfopen等等函數(shù)的聲明 path:文件路徑+文件名 mode:打開文件的方式 “r”:只讀 “w”:覆蓋寫 “a”:追加寫 strea

    2024年03月11日
    瀏覽(18)
  • [Linux]理解文件系統(tǒng)!動靜態(tài)庫詳細制作使用!(緩沖區(qū)、inode、軟硬鏈接、動靜態(tài)庫)

    [Linux]理解文件系統(tǒng)!動靜態(tài)庫詳細制作使用!(緩沖區(qū)、inode、軟硬鏈接、動靜態(tài)庫)

    ? ? ? ? hello,大家好,這里是bang___bang_,今天來談談的文件系統(tǒng)知識,包含有緩沖區(qū)、inode、軟硬鏈接、動靜態(tài)庫。本篇旨在分享記錄知識,如有需要,希望能有所幫助。 目錄 1??緩沖區(qū) ??緩沖區(qū)的意義 ??常見緩沖區(qū)刷新策略 ??緩沖區(qū)位置猜想 ??現(xiàn)象猜測 ??現(xiàn)象解

    2024年02月13日
    瀏覽(27)
  • 【看表情包學Linux】文件描述符 | 重定向 Redirection | dup2 函數(shù) | 緩沖區(qū)的理解 (Cache)

    【看表情包學Linux】文件描述符 | 重定向 Redirection | dup2 函數(shù) | 緩沖區(qū)的理解 (Cache)

    ?? ??? 爆笑 教程 ????《看表情包學Linux》?? ? 猛戳訂閱 ? ? ?? ?? 寫在前面: 在上一章中,我們已經(jīng)把 fd 的基本原理搞清楚了。本章我們將開始探索 fd 的應用特征,探索 文件描述符的分配原則。講解重定向,上一章是如何使用 fflush 把內(nèi)容變出來的,介紹 dup2 函數(shù),

    2023年04月25日
    瀏覽(19)
  • 理解緩沖區(qū)

    理解緩沖區(qū)

    對于這樣的代碼,首先可以肯定的是 printf 語句先于 sleep 執(zhí)行,既然如此那么就應該是先打印語句然后進行休眠,下面看看結(jié)果: 但這里卻是先休眠以后再打印語句,這是因為存在一個叫緩沖區(qū)的東西,當我們要向外設寫入數(shù)據(jù)(讓顯示器顯示就是向顯示器寫入數(shù)據(jù))時會將

    2023年04月25日
    瀏覽(22)
  • 【Linux】文件緩沖區(qū)

    【Linux】文件緩沖區(qū)

    提到文件緩沖區(qū)這個概念我們好像并不陌生,但是我們對于這個概念好像又是模糊的存在腦海中,之間我們在介紹c語言文件操作已經(jīng)簡單的提過這個概念,今天我們不妨深入理解什么是文件緩沖區(qū) 通過自己實現(xiàn)庫中的一些文件操作函數(shù)更加深入的理解文件緩沖區(qū) 自定義實現(xiàn)

    2024年02月10日
    瀏覽(25)
  • 【linux】重定向+緩沖區(qū)

    【linux】重定向+緩沖區(qū)

    自我名言 : 只有努力,才能追逐夢想,只有努力,才不會欺騙自己。 喜歡的點贊,收藏,關注一下把! close(1),為什么沒有打印新建文件fd呢? printf(“%dn”,fd); printf會把內(nèi)容打印到stdout文件中。 但是close(1)關閉標準輸出stdout—顯示器,int fd=open();新打開的文件fd是1。 st

    2024年02月08日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包