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

教育网站建设开发小程序制作 相册

教育网站建设开发,小程序制作 相册,网站关键词优化快速排名,哈尔滨如何免费制作网站前言 目录 前言 需要先了解 1.\r和\n 2.缓冲区 一.理解字符的含义: 学习c语言时,我们可以粗略把字符分为可显字符和控制字符. 在按回车换到下一行开始的操作时,实际上是进行了两个操作:1.让光标跳到下一行(只…

前言

目录

前言


需要先了解        1.\r\n

                          2.缓冲区

一.理解字符的含义:

        学习c语言时,我们可以粗略把字符分为可显字符控制字符.

        在按回车换到下一行开始的操作时,实际上是进行了两个操作:1.让光标跳到下一行(只是垂直向下,这一步的操作称为换行).2.让光标跳到最开始的位置(此操作称为回车).

        即\r:回车 \n换行。

        而在c语言环境下把\n简化 其代表回车加换行。

测试\n,\r:

\n,\r都存在,既有回车又有换行,所以其linux的命令行在我们执行程序下面。

只有\n

们在上面说了,这是我们在这个语言环境下我们将其简化,此时的\n就表示回车加换行。

\r \n都没有

linux命令就直接跟在文本行后面。

只有\r 

只有回车的效果,光标本来在文本行最后一个字符旁,回车后光标来到了文本行开始,最终导致文本被覆盖。 

 二,缓冲区的概念

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

运行上面代码会发现结果没有立马打印出来,这是因为数据在sleep期间被暂时保存起来。

但是如果加上\n,数据就会显示出来。————缓冲区有自己的行缓冲刷新策略。

三,小程序

1.倒计时小程序

  1 #include<stdio.h>2 #include<unistd.h>3 4 int main()5 {6   int i=0;7   for(i=9;i>=0;i--)8   {9     printf("%d\r",i);10                                                                                                            11     sleep(1);12   }13   return 0;14 }

我们利用\r覆盖的特性实现如上代码,但是结果倒计时却不显示,原因是数据存放在缓冲区里,缓冲区没有被刷新。我们将代码修改如下:

1 #include<stdio.h>2 #include<unistd.h>3 4 int main()5 {6   int i=0;7   for(i=9;i>=0;i--)8   {9     printf("%d\r",i);10     fflush(stdout);                                                                                                          11     sleep(1);12   }13   return 0;15 }

以上代码我们会发现如果时间变成两位数,将只能覆盖一位数,因此修改为:

1 #include<stdio.h>2 #include<unistd.h>3 4 int main()5 {6   int i=0;7   for(i=9;i>=0;i--)8   {9     printf("%-2d\r",i);10     fflush(stdout);                                                                                                          11     sleep(1);12   }13   return 0;15 }
~

2.进度条

进度条的预期样式:[#########################################] [%100] [/]

    第一个括号是进度条 第二个括号是进度百分比 第三个是旋转图标 用于判断是否卡住。

编写

proc.h,编写进度条的头文件
proc.c,编写进度条的函数
main.c,测试进度条

proc.h

 1  #pragma once                                                                                                                     2 3  #include <stdio.h>4 5 void process();   ~                        

main.c

 1 #include "proc.h"2 3 int main()4 {5   process();6   return 0;                                                                                                                  7 }

proc.c

  1 #include"proc.h"2 #include<unistd.h>3 #include<string.h>4 5 //  "|/-\"旋转标志6 void process()7 {8   const char* lable ="|/-\\";        //特殊字符\需要用\\9 10   //为什们要定义101个字符?11   //就是因为我们的进度条有100个12   //但是字符的结尾要用\0表示所以我们要有101个字符13   char bar[101];14   //先将进度条设置为\0,然后在依次增加#。15   memset(bar,'\0',sizeof(bar));16   int i=0;17   while(i<=100)18   {19     printf("[%-100s] [%d%%] [%c]\r",bar,i,lable[i%4]);                                                                       20     fflush(stdout);21     bar[i++]='#';22     usleep(100000);23   }24   printf("\n");25 26 }

http://www.yayakq.cn/news/940530/

相关文章:

  • 怎么创建视频网站建设一个小说网站多少钱
  • 大连企业网站建站模板重庆造价协会官网
  • 购买设备有什么网站做参考企业网站托管如何更有效
  • 昆明网站建设介绍上海云盾为网站做防护
  • 国土资源局加强网站建设中国最新消息新冠疫苗最新消息
  • 东莞企业年检哪个网站做做网站一般按什么报价
  • 做外单阿里的网站租号网站是怎么做的
  • 帮人做网站好挣吗网站内页产品 首页推荐
  • 企业管理系统镜像网站做优化
  • 企业网站优化报告基于构件的软件开发流程
  • 如何向百度举报网站商标网官方查询官网
  • 淄博企业网站排名优化做电影网站还能赚钱
  • 网站建设案例自己能建网站吗
  • 音乐播放网站怎么做眉山注册公司流程和费用
  • 做个普通的网站多少钱seo霸屏
  • 广东公司响应式网站建设报价漫画网站建设
  • 合肥营销网站建设设计哪里可以兼职答题
  • 中山h5网站建设柔造网站定制
  • 北京做机柜空调的网站本地门户网站
  • 热点事件网站优化工作怎么样
  • 网站建设数据库模板辛集seo网站优化电话
  • 招聘网站建设的项目描述公共建设工程中心网站
  • 制作一个视频网站长春企业网站制作优化
  • dw网站开发教程杭州建设工程招标网新址
  • 哪个网站可以做app界面成都百度百科
  • 门户网站开发报价单如何做网站性能优化
  • 网站开发的研究计划书steam交易链接怎么看
  • 电子商务网站建设与管理考卷苏州有什么好玩的地方吗
  • 网站建设的公司资质哪个不是网站开发工具
  • 网站建设改革情况汇报长沙做网站的故事