国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

wordpress連接丟失百度seo關鍵詞排名推薦

wordpress連接丟失,百度seo關鍵詞排名推薦,做貿易選哪家網站,房地產市場現象前言 在我們的日常生活中,進度條是十分常見的,比如在軟件下載中,應用加載中等等~~~那么進度條有什么特點?他又如何實現。 下面我們將結合下面的圖展開講解 一、前置理論知識 1.1回車和換行的區(qū)別 在我們的日常生活中&#x…

前言? ?

? ? ? ? 在我們的日常生活中,進度條是十分常見的,比如在軟件下載中,應用加載中等等~~~那么進度條有什么特點?他又如何實現。

下面我們將結合下面的圖展開講解

一、前置理論知識

1.1回車和換行的區(qū)別?

在我們的日常生活中,回車和換行似乎是相同的事情,但是事實上

  • 回車:光標回到當前行的左端
  • 換行:跳轉到當前的下一行
  • 在C語言中"\n"表示回車加換行,"\r"單單指的是回車;

PS:現在我們鍵盤上的ENTER同時兼?zhèn)淞嘶剀嚭蛽Q行的功能

我們可以看到在老式的鍵盤中回車鍵的符號和對應的形狀都是一個先向下再向左的箭頭。也就是說這一個鍵同時實現了兩個功能。

1.2緩存區(qū)的概念

在C語言中,緩存區(qū)是一種存儲空間,用于存儲程序中經常使用的變量和數據。緩存區(qū)的目的是提高程序的運行速度,當程序需要訪問一個變量或數據時,處理器會先檢查緩存區(qū)中是否存在該數據的副本,如果存在,則直接訪問緩存區(qū)中的數據,而不是從內存中讀取。這樣可以減少內存訪問次數,提高程序的執(zhí)行速度。

在C語言中會默認打開三個輸入輸出的文件,分別是標準輸入流stdin,標準輸出流stdout,標準錯誤stderr。

在我們平時的程序中,從程序中輸出的數據或者鍵盤上讀取的數據會先存到一個緩存區(qū)中,在需要時經行讀取和截斷。(比如:在printf函數調用中輸入帶有空格的字符串,空格后的數據未被訪問,存入緩存區(qū))

1.2.1“\n”和“\r”在緩沖區(qū)中的作用效果差別

  • 在Linux中我們經常說一句話:萬物皆文件。也就是Linux系統(tǒng)認為顯示器是文件,鍵盤是文件。在我們使用printf函數會將緩存區(qū)的數據讀取到顯示器上。
  • 要注意的是顯示器默認是行刷新,也就是當輸出內容配上“\n”后會直接回車+換行并立刻將內容打印在屏幕上,待睡眠結束后,才會彈出操作框;

  • 而當輸出內容配上“\r”后,其會先輸出到緩沖區(qū)中,待睡眠結束后才會和操作框一起輸出
 printf("hello Makefile!\n");先行打印,待睡眠結束后才彈出操作框printf("hello Makefile!\r");待睡眠結束后才會和操作框一起打印

1.2.2fflush函數

  • fflush是一個在C語言標準輸入輸出庫中的函數,功能是沖洗流中的信息,該函數通常用于處理磁盤文件。fflush()會強迫將緩沖區(qū)內的數據寫回參數stream 指定的文件中。
  • 在下面代碼塊中,"hello Makefile!"本來應該待睡眠結束后才會和操作框一起彈出,在此之前存儲在緩沖區(qū)中;但我們用了fflush(stdout);(stdout是其數據類型),直接將內容從緩沖區(qū)中寫回顯示器文件中;
  • 最終完成的效果是:先行打印,待睡眠結束后才彈出操作框
#include <stdio.h>
int main()
{printf("hello Makefile!\r");fflush(stdout);sleep(3);return 0;
}

?二、Linux中的先行配置

在Linux中我們一般使用gcc命令去完成代碼的預處理、編譯、匯編、連接的工作。而對于一個多文件形成的程序我們通常使用Linux項目自動化構建工具-make/Makefifile。可以說會不會寫makefile反映出一個人有無能力去完成大型工程的能力。

雖然進度條只由三個文件組成但是這不失為一種練習vim,makefile的手段。

  • 用vim分別建立【main.c】【makefile】【processbar】【processBar.c】【processbar.h】,可視具體情況設置,文末有簡略代碼;
  • makefile文件如圖所示

> - ./processbar 執(zhí)行程序

三、進度條的重點部分

1、設計進度條的主體部分

這里我們單獨實現進度條功能,所以我們需要一個東西來模擬下載的速度從而讓進度條以可以被觀測的方式來實現。

sleep/usleep(time)讓程序休眠time秒。每次休眠結束后更新進度條,在運行時就像進度條真的在加載什么。


將進度條顯現在屏幕上我們一般會用printf函數,那么我們究竟需要展現什么?

以這個為例,我們需要一條代表下載進度的線,表示已經下載的百分比和一些動態(tài)的符號表示程序的進行。

進度線:一個大小為102char數組(預留兩個位置放"\0")

百分比:一個int變量

動態(tài)符號:一個固定的字符串比如:| / - \,然后在

那么我們的初代主體代碼為

void processbar(int speed)
{char bar[102];const char *lable="|/-\\";memset(bar, '\0', sizeof(bar));int len =strlen(lable);int cnt=0;while(cnt <= 100){   printf("[%-100s][%d%%][%c]\r", bar, cnt, lable[cnt%len]);fflush(stdout); bar[cnt++]=BODY;if(cnt<100)bar[cnt]='>';usleep(speed);}printf("\n");
}
這里注意兩點一是 ‘ / ’ 的表示和‘ % ’ 的表示。

但是現實情況大多是傳入進度來顯示進度條。

所以我們將代碼經行些許修改。?

四、完整代碼

#include"processbar.h"
#include <string.h>
#include <unistd.h>
const char *lable="|/-\\";char bar[NUM];
void initbar() 
{memset(bar, '\0', sizeof(bar));
}
void processbar(int rate)
{if(rate<0||rate>100)return;int len =strlen(lable);printf("[%-100s][%d%%][%c]\r", bar, rate, lable[rate%len]);fflush(stdout); bar[rate++]=BODY;if(rate<100)bar[rate]=RIGHT;
}
#pragma once
#include<stdio.h>
#define NUM 102//預留兩個位置放\0
#define TOP 100
#define BODY '-'
#define RIGHT '>'
extern  void processbar(int speed);
extern void initbar();
#include"processbar.h"
#include<unistd.h>
typedef void(*callback_t)(int);
//模擬下載
void downLoad(callback_t cb)
{initbar();int total = 100;//100mbint curr = 0;//0mbwhile(curr <= total){usleep(10000);//模擬下載時間int rate=curr*100/total;cb(rate);curr++;}printf("\n");
}int main()
{downLoad(processbar);return 0;
}

http://aloenet.com.cn/news/30921.html

相關文章:

  • 哪個網站做網銷更好網站頁面的優(yōu)化
  • 手機做直播官方網站西安seo關鍵詞排名優(yōu)化
  • 禹州做網站bz3399百度一下你就知道百度官網
  • 蘭州市建設廳網站2021年經典營銷案例
  • eclipse做網站怎么優(yōu)化網站性能
  • 什么網站可以做兼職美工教育培訓報名
  • 標書制作員工資很低嗎seo關鍵詞排名優(yōu)化費用
  • 做網站營銷蘭州seo外包公司
  • 四川成都私人網站建設百度問答app下載
  • 企業(yè)網站建設個人博客2345網址導航設為主頁
  • 公司做網站流程快速seo關鍵詞優(yōu)化技巧
  • 幫人做網站一個多少錢環(huán)球網疫情最新動態(tài)
  • 廣東省住房和建設局官方網站百度搜索引擎工作原理
  • 小說主題+wordpressseo網站優(yōu)化知識
  • 個人手機網站開發(fā)站長工具日本
  • 網站雙語怎么做免費的編程自學網站
  • 鮮花網站建設的目標百度賬號
  • 企業(yè)建站平臺哪個好深圳有實力的seo公司
  • 網站規(guī)劃與建設步驟愛站網收錄
  • 網站建設 柳州青島網站建設微動力
  • 個人網站設計與制作設計思路合肥網絡推廣有限公司
  • wordpress 網銀支付seo專業(yè)培訓課程
  • 免費做自我介紹網站網站流量分析
  • 青島定制網站建設關鍵詞優(yōu)化排名公司
  • 昆明制作企業(yè)網站的公司競價托管的注意事項
  • 惠州做網站公司哪家好競價推廣價格
  • 小程序 微網站南寧網站關鍵詞推廣
  • 做網站的圖片Pc端和手機端的區(qū)別青島愛城市網app官方網站
  • 官方網站如何做外貿seo推廣招聘
  • 網上訂酒店 網站開發(fā)百度知道客服電話