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

互动性的网站凯里网络公司建设网站

互动性的网站,凯里网络公司建设网站,优惠券网站做代理怎么样,如何开一家公司流程#x1f4ad; 前言 本章我们先对缓冲区的概念进行一个详细的探究#xff0c;之后会带着大家一步步去编写一个简陋的 进度条 小程序。最后我们来介绍一下 Git#xff0c;着重讲解一下 Git 三板斧#xff0c;一般只要掌握三板斧就基本够用了。 缓冲区#xff… 前言 本章我们先对缓冲区的概念进行一个详细的探究之后会带着大家一步步去编写一个简陋的 进度条 小程序。最后我们来介绍一下 Git着重讲解一下 Git 三板斧一般只要掌握三板斧就基本够用了。 缓冲区Buffer 先说一下 unistd.h 库中的 sleep 函数它可以按照秒去休眠 我们先创建一个文件并写一些代码 #include stdio.h #include unistd.hint main(void) {printf(Helo,World!\n); sleep(2); return 0; } ??这里是先运行printf还是sleep 这还用思考肯定打出 Helo, World先运行 处代码然后运行 B 处代码休眠 如果说我们把\n给删了呢 这里是休眠了2s后才出现的hello world。怎么说 看样子是先执行 B 再执行  了but…… 然而实际上无论你加不加 \n代码都是从上往下先运行的即先执行 printf 再执行 sleep 代码没有任何的循环判断跳转什么的操作那一定是 从上到下按顺序执行的要坚信自己 这就是所谓的 顺序结构也是我们的默认结构。 既然是从上到下按顺序执行可是我们运行代码观察到的现象就是 sleep 先休眠  然后打印啊。 真像实际上printf 已经先执行了只是这个 Helo,World 没有立马被显示出来罢了 当我们 sleep 时也没有显示当我们 sleep 完甚至到程序退出后这个 Helo,World 才显示出来。 这个时候如果打印的消息如果没有立即被显示出来 在 sleep 执行期间它最后显示出来证明了它的存在 但是 sleep 2s 内它并没有显示出来那么问题来了 —— 这个 Helo,World 在哪 没错这就是就是   缓冲区 对缓冲区的理解 什么是缓冲区这个缓冲区在哪里缓冲区其实说白了就是一段内存空间。 既然是内存空间那我们就能理解刚才举的例子里的 Helo,World 数据是放在了内存空间里。 只要在内存里就没有打印出来所以我们 sleep 2s 时它一直在内存里 躺平 呢。 最后 return 退出的时候这个数据才显示出来所以才看到了我们刚才看到的现象 缓冲区的理解就是一段内存空间。立马将内存中的空间显示出来 →刷新策略  我们今天不探讨什么策略就往显示器打印这个点来说我们只关注一种策略 —— 行刷新  所谓的行刷新就是你要输出的一个行字符串当中看它是不是一个完整行 如果是一个完整行就会立马刷新出来如果不是就不刷新让它去缓冲区一边凉快去 等缓冲区变满了或者程序退出了再或者碰到换行服务再把它一块送出去。 那么如何证明你一个文本是完整的一行呢 这也很简单只要你打印的内容包含 \n包含反斜杠 n 在内的之前的所有内容成为一行。 不是直接把数据刷到我们外设上 还是把数据先放到缓冲区里只不过因为你有 \n 它就立马根据刷新策略把内容给你刷新出来仅此而已。 如果我不想用 \n我就想让我的数据立马刷新出去立马显示出来呢 这里就说来话长了我们不得不说一下 stdin、stdout 和 stderr 的知识。 一般一个程序默认在启动的时候会默认打开三个输入输出流 #include stdio.hextern FILE* stdin; extern FILE* stdout; extern FILE* stderr; 如何刷新呢我们还可以通过 fflush() 去强制刷新 #include stdio.hint fflush(FILE* stream); 如果你仔细观察你会发现它的参数和我们 stdin、stdout 和 stderr 类型是一样的都是 FILE* 在没有 \n 时我们通过 fflush 让它打印完立马给我刷新  运行结果如下 此时的Hello world是立刻就显示出来了。 实现一个简易 进度条 在实现简易 进度条 之前我们还需要讲解一下回车和换行的概念。 思考你认为回车和换行是一个概念吗 回车将光标拨回到当前行的最开始最左侧换行新起一行并不影响光标的位置 我们所理解的 换行  并不是这里的换行想达到我们所理解的 换行 效果 即新起一行并将光标拨回最开始位置就需要 先模拟 倒计时 代码演示从 9 开始倒计时 运行结果 由9一直倒数 开始实现简易进度条 我们先创建一个空文件夹并创建一个 process.c 文件 然后我们形成一个 Makefile 文件 然后我们打开刚才创建的 process.c 文件我们实现出 # 的填充部分 定义一个 process() 函数用于实现进度条。我们假设 100 个单位定义一个宏 TIMES 表示然后创建 bar 数组存放因为最后要存 \0 所以这里我们需要多预留一个位置给它所以定义一个 TIMES1 的宏名曰 NUM。为了方便我们索性使用 memset 将所有缓冲区空间设置为 \0。 然后开始我们的计数操作创建一个 cnt 变量 while 它个 100 下每次打印 bar 中的 1 个然后用 # 填充 cnt 对应位置的 bar 元素。 运行结果如下 emm现在显然有两个问题亟待解决 sleep 一秒这是打印地是否有些太慢……这个进度条是否有些奇葩哪有换行打的进度条雾草太摩登了 我们先来解决第一个问题看看 usleep 函数  按照微秒为单位去休眠我们 usleep(20000) 能让它 2 秒内跑完。 20000μs20ms0.02s 然后我们刚才还讲解缓冲区概念的时候还介绍了 fflush()  和 \r在这里就派上用场了。 和刚才的倒计时一样这里换行的主要原因还是我们 printf 用了 \n我们修改一下写的代码 运行结果如下 不错有个进度条的样子了。但好像没有给进度条预留一块空间啊 现在的进度条是带着 [ ] 直接往后怼的我们可以给 [ ] 预留 100 个 字符空间 printf([%100s]\r, bar); 虽然给 [ ] 预留空间了但是是从右往左反过来打的。 为什么会这样呢因为 C 语言默认的对齐方式是右对齐的如果想让它左对齐就要加 - printf([%-100s]\r, bar); 下面我们来加上 百分比 百分比不就是我们定义的 cnt 变量么我们打印出来就行 printf([%-100s] [%d %%]\r, bar, cnt); 最后我们再实现一下 不断旋转的光标就大功告成了。 想做到不断旋转的视觉效果通过   | / - \ 这四个符号不断变化即可。 由于 \ 需要用转义才能表示所以需要 \\ 我们把它们存到变量中。 打印时访问我们定义的变量即可这里将  cnt % 4 就可以按顺序循环访问这四个字符了。 /* 不断旋转的光标: | / - \ */const char* lable |/-\\;int cnt 0;while (cnt TIMES) {printf([%-100s] [%d%%] ... %c\r, bar, cnt, lable[cnt % 4]); // 改成\r 运行结果如下 翻过这座山我们是------冠军 Git 简单介绍 git 是什么 git是一种代码管理器,写git程序的和写Linux系统的是同一个人,所以Linux可以直接和gitee或GitHub相关联! GitHub: Let’s build from here · GitHub Gitee - 基于 Git 的代码托管和研发协作平台 这里使用gitee举例子:先在远端创建仓库 合法的 我敲~这个为什么是倒着的啊 Linux下的gitee创建仓库 在创建好仓库后,复杂https的链接 使用指令: git clone 链接 即可将远端仓库克隆到本地 接下来的操作和Windows上的三板斧相似: 首先在本地仓库创建一份文件: 注意是在本地仓库里面创建的。 git三板斧之add 我们在当前目录下直接输入指令: git add 文件名 或 git add . 前者是添加特定的文件到本地仓库 后者是将当前目录下所有文件提交 输入完这条指令后,文件就已经被添加到本地仓库了 那么怎样在本地仓库查看有哪些文件呢? 使用指令: git status 可以发现,本地仓库中还有test.c。没有被提交到远端仓库! git三板斧之commit 请注意,在commit时一定要输入日志 使用指令: git commit -m 日志 日志一定不要乱写! 日志一定不要乱写! 日志一定不要乱写!  你的gitee或GitHub,就会去看日志!  比如这里我可以这样写日志:、 输入此指令后,如果你是第一次输入系统可能会让你输入邮箱和用户名密码这时系统会将指令的格式给你显示出来你只需要将格式中引号内的内容改成你的自己的邮箱或用户有即可! 或者你也可以事先输入好 user代表用户.name代表配置用户的名称 git config --global user.name 你的用户名 user代表用户.email代表配置用户的邮箱 git config --global user.email 你的邮箱 这样就好了 git三板斧之push 在commit输入完日志后,输入指令: git push 将本地仓库的文件推送至远端仓库! 输入这条指令后,会显示这样的画面: 注账号最好是输入下面红框里的 我们登录gitee就会看到 最后 大家要维护好自己的gitee或GitHub 一年都百分之80都是小绿点会很加分的!
http://www.hkea.cn/news/14297244/

相关文章:

  • 南安市住房和城乡建设局网站关于青岛的网页设计
  • wordpress网站好优化吗公司网站数媒设计制作
  • asp.net 项目成本预算系统的 网站开发海外房产网
  • 百度自建站使用 加速乐 网站变慢
  • 网站开发职务长沙网页设计培训班
  • 手机网站开发技术pdf网站防黑客入侵做相关防御
  • 做淘客的网站关键词有哪些亿联时代网站建设
  • 一号网站建设网站制作百度整站优化
  • 单位的网站建设费会计处理中信建设有限责任公司 乔峰手机
  • asp网站栏目如何修改网站服务器暂时不可用怎么办
  • 关于江西建设监督网网站迁移绍兴网站推广
  • 网站相关知识烟台城乡建设学校网站
  • 24小时二手表网站天津网站运营
  • 网站网页的像素尺苏州北京商场网站建设
  • 营销型网站建设的价格网站程序安全管理
  • 网站建设套餐是什么外贸网站推广教程
  • 网站顶端大图怎么做软件开发平台下载
  • 手机网站html5模版汽车网新车报价大全
  • 网站里的图片是怎么做的ui网站推荐
  • 做网站首页cdr571免费建网站
  • 设计的网站都有哪些淮北哪有做淘宝网站
  • 提高网站排名软件seo外链推广员
  • 如何建设类似大众点评网站平面设计找工作难吗
  • 备案网站怎么做下载京东购物
  • 拖拽式网站建设费用对网站建设过程
  • 福建网站开发有限开发公司wordpress个人中心无法登录
  • 做网站时联系我们制作模板全国房地产最新消息
  • 扬中市住房和城乡建设局网站垦利网页定制
  • 福州网站建设软件php做网站开源项目
  • 建设个人网站用什么软件wordpress 怎么使用