Linux操作系统下,在终端打印出闪烁的星星图案
Linux系统下,在终端打印出闪烁的星星图案。
一、首先需要耐心,使用输出语句先”弄“出一个星星图案
(我是为了打印出来的星星是在终端中间,所以这样子敲的,可根据自己想法完成)
二、调用system函数,实现闪烁功能
分析:闪烁功能是啥?是不是像路边的彩灯一样亮、灭、亮、灭交替的样子?一开始我也想不出来”闪烁“到底该如何完成,搜索了几十分钟才发现有文章提到了”清屏“功能,茅塞顿开。使用循环语句,打印图案,清屏,再打印图案,再清屏,在视觉上就实现了”闪烁“。
清屏功能需要调用system函数。(system函数功能详解,请自行去查找,这里只讲闪烁的星星0_0).
使用时如下,放在代码合适的地方即可
system("clear");
效果挺好,就是闪的太快了,多试了几次我发现还有几个问题:
1、第一次打印,星星并没有在终端中间;
2、闪的太快,我用的while(1)循环不知道怎么停止,只能强行关闭终端;
解决方法:
1、第一次没在中间,是因为终端之前有我们自己输入的命令,如果在成簇刚开始运行的时候就进行清屏,那么再打印的图案就会出现在屏幕中间,即在程序开头也加上一句清屏的语句;
2、停止while(1)循环结束程序,可用ctrl+c (没错,在平时就是复制的操作)来强行结束一个在运行的程序;
3、闪的太快?那不挺好的嘛,就是容易看花眼……可在程序中加入延时函数,延时函数顾名思义就是让代码延时一段时间后执行,根据个人所需效果加入到代码段中;
三、使用延时函数让程序效果更优秀
延时函数sleep:
sleep函数功能是包含在<unistd.h>这个头文件当中,所以用sleep函数需要写上头文件。
#include <unistd.h> //延时函数头文件
Linux下 sleep的参数为秒,所以延迟1秒为 sleep(1)。(自己随意设置时间好了)
sleep (1); //延时函数
完整代码如下:
#include <stdio.h>
#include <unistd.h>int main()
{int i, n;while(1){system("clear"); //开始前清理屏幕printf(" \n");printf(" \n");printf(" \n");printf(" \n");printf(" \n");printf(" \n");printf(" - \n");printf(" --- \n");printf(" ------------- \n");printf(" --------- \n");printf(" ------- \n");printf(" --- --- \n");printf(" - - \n");sleep (1); //延时清屏system("clear"); //清理屏幕sleep (1); //延时清屏}}
ps:一开始不清楚怎么结束while(1)循环,我就使用的for循环,自己设置循环次数,也算是达到了要求,所以有时候解决问题可以另辟蹊径,多思考。
(这里不重要)
写在结尾的话:作为Linux新手或者说敲代码新手,不知道怎么打印闪烁的图案,敲了半天也只能弄出一个感觉好点的星星图案,而闪烁的功能更是不知道该怎么实现。搜索了很久,只发现了零星的文章说起这个”闪烁“功能。完成这个功能还是花了一些时间,完成的时候还是很开心。第一次写文章,就从这个开始吧。希望我能坚持下去,能够继续走下去。
Linux操作系统下,在终端打印出闪烁的星星图案相关推荐
- oracle xe 乱码_关于Linux操作系统下终端乱码的完美解决方法
初入linux的程序员们,经常会受到乱码的问候.可谓"始乱终弃".因为乱码,并且最终放弃了linux的不在少数.好吧,言归正传,先看看各类乱码是怎么形成的. 中文字符乱码 这种情况 ...
- linux 进程管理 ppt,linux操作系统-进程管理和打印管理.ppt
<linux操作系统-进程管理和打印管理.ppt>由会员分享,可在线阅读,更多相关<linux操作系统-进程管理和打印管理.ppt(25页珍藏版)>请在装配图网上搜索. 1.进 ...
- linux c语言 ppt,linux操作系统下c语言编程入门.ppt
linux操作系统下c语言编程入门.ppt Linux操作系统下C语言编程入门 CNT Linux操作系统简介基础知识进程介绍文件操作时间概念消息管理线程操作网络编程Linux下C开发工具介绍 一 L ...
- linux操作系统下 c语言编程入门
linux操作系统下 c语言编程入门 (一)目录介绍 1)Linux程序设计入门--基础知识 2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门 ...
- linux操作系统下c语言编程入门
linux操作系统下c语言编程入门 整理编写:007xiong 原文:Hoyt等 (一)目录介绍 1)Linux程序设计入门--基础知识 2)Linux程序设计入门--进程介绍 3)Linux ...
- Linux操作系统下的串口通信
1 Linux操作系统下的串口通信学习笔记 一.什么是串口通信 串口通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送.使用 串口通信时,发送和接收到的每一个字符实际上都是一次一 ...
- 【转贴】linux操作系统下c语言编程入门
[转贴]linux操作系统下c语言编程入门 发信人: Lerry (驴是的念来过倒·杏红等头墙上爬), 信区: Linux 标 题: linux操作系统下c语言编程入门 发信站: 哈工大紫丁香 (Fr ...
- Linux操作系统下如何查看SQLite的数据库文件
Linux操作系统下如何查看SQLite的数据库文件 **背景:**今天学习第一行代码,学习到SQLite的相关知识,其中学习到创建了数据库和表之后应该如何查看,看了书上的内容并不是很明白,于是上网找 ...
- linux确定刻录机目录,在Linux操作系统下使用DVD刻录机(转)
在Linux操作系统下使用DVD刻录机(转)[@more@] 现在,越来越多的用户开始装备DVD刻录机.在Windows平台上使用DVD刻录机应该不存在什么问题,那么在Linux平台又应该如何使用DV ...
最新文章
- windows下python打开中文路径文件出现问题
- 两种 js下载文件的方法(转)
- 英雄联盟欧洲赛区_Linux命令简介,欧盟的开源数学工具箱以及更多新闻
- Linux Python 安装第三方库时报错 package wheel is not installed
- 一些值得注意的算法题——队列、栈
- android 控件发光_如何在android中的按钮周围制作动画/常量发光效果?
- hdu 1969 Pie(二分查找)
- TeaVM编译JAVA感想:看着简单,做起来真难
- Unity移动视角(MainCamera的操作)
- WPS中设置一级、二级、三级标题以及正文和目录
- 当C++遇上AUTOSAR编码规范,你的安全我来护航
- 列表最后一页的最后一条数据删除之后,页码自动减一
- 整流电路 简答题与计算题
- RNA-seq生信分析流程
- 李沐精读论文:ViT 《An Image Is Worth 16x16 Words: Transformers For Image Recognition At Scale》
- 爪爪博士:什么是猫艾滋病?猫艾滋病是一种猫免疫缺陷病
- Java学习:自学or培训?
- 计算机二级的关系与关系模式一样吗,2013年计算机二级access关系数据库知识
- fork函数的介绍和使用
- 敏感性、特异性(sensitivity and specificity)| 假阳性、假阴性 | FDR | 第一类错误、第二类错误 | ROC | AUC...
热门文章
- 课程2:TIA Portal 博图软件的使用方法和操作界面详解 (工控PLC工程师入门必读,5天可上手调试)
- 检查COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组建失败,原因出现以下错误:80070005拒绝访问
- yum源配置,亲测可用
- 地平线检测horizon line detection
- cad工具箱详细讲解_分享一个好用的工具箱
- 微信小程序从零开始开发步骤(二)创建小程序页面
- Pod与Service介绍
- 绘制思维导图的技巧与绘制方法
- Linux 挂载远程目录
- 最简单DIY基于ESP8266的智能彩灯⑥(Android开发通过WIFI控制彩灯实现表白神器)