当前位置: 首页 > news >正文

土特产网站的制作获客引流100种方法

土特产网站的制作,获客引流100种方法,php做网站很快嘛,网时 网站服务器租赁缓冲区 ​ 在写进度条程序之前我们需要介绍一下缓冲区,缓冲区有两种,输入和输出缓冲区,这里主要介绍输出缓冲区。在我们用C语言写代码时,输出一些信息,实际上是先输出到输出缓冲区里,然后才输出到我们的显…

缓冲区

​ 在写进度条程序之前我们需要介绍一下缓冲区,缓冲区有两种,输入和输出缓冲区,这里主要介绍输出缓冲区。在我们用C语言写代码时,输出一些信息,实际上是先输出到输出缓冲区里,然后才输出到我们的显示器上。
原因是:

如果输出一个字符就打印到显示器上,那么就会有大量的IO交流在显示器上,外设的速度比较慢,这会降低系统效率,所以就有缓冲区减少IO次数,等我们手动或者达到一定条件(进程结束)时缓冲区刷新就会打印信息到显示器上

看下面两段代码:

  1 #include<stdio.h>2 #include<unistd.h>3 4 int main()5 {6   printf("123");      7   sleep(2);8   return 0;9 }

这段代码先等待2秒然后才输出123,因为printf先输出123到缓冲区中,等2秒后程序结束刷新缓冲区就把信息打印到显示器上

  1 #include<stdio.h>2 #include<unistd.h>3 4 int main()5 {6   printf("123\n");    7   sleep(2);8   return 0;9 }

这段代码是先打印123,然后等2秒程序结束,\n能手动刷新缓冲区,所以是先打印123然后等2秒程序结束


\n&&\r

\r是回车,就是光标回到当前行第一位,\n是换行,就是光标移动到当前位置下一行。我们键盘上的Enter是换行加回车一起进行的。

进度条的实现

​ 实现进度条之前我们先写好我们的makefile文件:

myexe:test.c process.c                                                                                    @gcc -o $@ $^    
.PHONY:clean    
clean:    @rm -f myexe    

version1

v1版本就是一个普通进度条,只有样式

process.h

  1 #pragma once             2 #include<stdio.h>3 #include<unistd.h>4 #include<string.h>5 6 void process(); //声明函数

process.c

  1 #include"process.h"                2 3 #define SIZE 1004 #define SLEEPTIME 1000*505 #define STYLE '#'6 7 char str[SIZE+1]={0};8 char wait[]={"|/-"};9 10 void process()11 {12   int rate = 0, wsize = strlen(wait);13   while(rate <= SIZE)14   {15     printf("[%-100s][%d%%][%c]\r",str,rate,wait[rate%wsize]); //输出格式16     fflush(stdout); //刷新缓冲区17     usleep(SLEEPTIME); //等待18     str[rate++] = STYLE; //增加'#'19   }20   printf("\n");21 }

test.c

  1 #include"process.h"2 3 int main()4 {5   process(); //调用函数              6   return 0;7 }

image-20231105163644079


version2

v2版本的进度条根据实际情况进行变化的,符合实际

process.h

#pragma once    
#include<stdio.h>    
#include<unistd.h>    
#include<string.h>    typedef void (*callback_t)(int); //重定义函数指针                                      void process_v2(int rate);    

process.c

#include"process.h"    #define SIZE 100    
#define STYLE '#'    char str[SIZE+1]={0};    
char wait[]={"|/-\\"};  
int cnt = 0;void process_v2(int rate)    
{    cnt++; //当进度卡住时,指示标还会一直转动,表示正在下载int size = strlen(str);    while(size < rate) //判断当前进度条的符号数量是否符合传进来的进度   str[size++] = STYLE;    if(rate >= 0 && rate <= SIZE)    //判断rate合法性{    int wsize = strlen(wait);    printf("[%-100s][%d%%][%c]\r",str,rate,wait[cnt%wsize]);    fflush(stdout);    }                                                                                                       
}  

test.c

#include"process.h"    #define TARGET 1024*1024    
#define DOWNLOAD 5000void download(callback_t cb)    
{    int cur = 0;    while(1)    {    cur += DOWNLOAD; //下载ing   int rate = (cur*100)/(TARGET); //计算当前进度   if(rate > 100)  //判断rate是否合法rate = 100;    cb(rate);  //回调函数 if(rate >= 100) //如果进度已经打到100就退出   break;    usleep(10000); //模拟下载等待时间    }    printf("\n");    
}    int main()    
{    download(process_v2);    return 0;    
}    

image-20231105214019715


version3

v3版本是外观美化

可以对格式进行更改,加点文字描述,以及更改颜色和底色,详情百度,这里就不再赘述

http://www.yidumall.com/news/50756.html

相关文章:

  • 商城网站需要注意事项seo怎样
  • 关于建设公司网站的建议手机百度正式版
  • 网站建设的法律问题关键词优化排名要多少钱
  • 免费建站网站靠谱吗网站自建
  • 保定设计网站建设搭建网站
  • 上海建设协会网站百度搜索引擎平台
  • 门户网站开发项目网站建设主要推广方式
  • 电商网站做互联网金融标题关键词优化技巧
  • 公司网站建设济南兴田德润地址网络营销有哪些例子
  • 不关闭网站 备案百度推广开户联系方式
  • wordpress模块化建站武汉seo计费管理
  • 收藏网站代码宁波网站推广公司价格
  • 注册网站租空间哪里租推广网站公司
  • 前程无忧网广州网站建设类岗位刚刚刚刚刚刚刚刚刚刚刚刚刚刚刚
  • 如何做有亮点的网站建设方案百度竞价点击神器奔奔
  • 可以用服务器做网站软文写作兼职
  • 网站高端网站建设怎么在百度发布免费广告
  • 云客服专业放心关键词优化参考价格
  • 旅游电子商务网站的建设方案今日头条最新消息
  • 平安区wap网站建设公司新闻稿发布软文平台
  • 武汉市网站百度自动优化
  • 巨鹿建设银行网站首页网上学电脑培训中心
  • 百色做网站世界杯球队最新排名
  • 汕头网站建设推广济南seo培训
  • 唐河企业网站制作哪家好上海做网站优化
  • 饰品交易网站怎么做百度搜索引擎原理
  • 法治政府建设内容网站公开课网站建设定制
  • 17一起做网站福州短视频seo网站
  • 厦门市建设执业资格注册管理中心网站推特是谁的公司
  • 微网站免费建站系统大二网页设计作业成品