在Linux系统下输入输出控制的学习
2017-12-24 18:15
281 查看
前期准备:安装好虚拟机及Linux系统
实验目的:了解 Linux IO 设计的控制
实验步骤:
1 实现清屏、设置光标位置、设置背景颜色及设置字体颜色等操作
*清屏
在Linux系统中真正实现清屏功能,而不仅仅是强行的加上几个空行让输出显示在屏幕的第一行中以达到看似清屏的效果,则需要用到以下语句来实现:
*设置光标位置
通过以下语句光标会移动到屏幕中第y行第x列的位置
*设置背景颜色
字背景颜色范围: 40–47
40: 黑 41: 红 42: 绿 43: 黄
44: 蓝 45: 紫 46: 深绿 47: 白色
*设置字体颜色
字体颜色范围: 30–37
40: 黑 41: 红 42: 绿 43: 黄
44: 蓝 45: 紫 46: 深绿 47: 白色
2 实现kbhit()
由于检测 tty 输入的程序,远远超出了入门者的能力,所以这里使用了来源于 Linux下非阻塞地检测键盘输入的方法 (整理) 的代码,将原来贪吃蛇程序的代码将其结合,实现了贪吃蛇程序中非阻塞地检测键盘输入的效果。
还可以通过语句
实验目的:了解 Linux IO 设计的控制
实验步骤:
1 实现清屏、设置光标位置、设置背景颜色及设置字体颜色等操作
*清屏
在Linux系统中真正实现清屏功能,而不仅仅是强行的加上几个空行让输出显示在屏幕的第一行中以达到看似清屏的效果,则需要用到以下语句来实现:
#include <stdlib.h> ... system("clear && printf '\e[3J'");
*设置光标位置
通过以下语句光标会移动到屏幕中第y行第x列的位置
printf("\033[y;xH");
*设置背景颜色
字背景颜色范围: 40–47
40: 黑 41: 红 42: 绿 43: 黄
44: 蓝 45: 紫 46: 深绿 47: 白色
printf("\033[40m"~"\033[47m");
*设置字体颜色
字体颜色范围: 30–37
40: 黑 41: 红 42: 绿 43: 黄
44: 蓝 45: 紫 46: 深绿 47: 白色
printf("\033[30m"~"\033[37m");
2 实现kbhit()
由于检测 tty 输入的程序,远远超出了入门者的能力,所以这里使用了来源于 Linux下非阻塞地检测键盘输入的方法 (整理) 的代码,将原来贪吃蛇程序的代码将其结合,实现了贪吃蛇程序中非阻塞地检测键盘输入的效果。
还可以通过语句
printf("\033[?25l");隐藏光标,最终达到键盘输出,屏幕不回显并且每次输入不需要按回车程序即能读取输入数据的功能。
相关文章推荐
- Linux入门学习七——系统服务的控制
- Linux系统学习笔记:异常控制流
- linux操作学习08:系统服务的控制(systemctl 命令)
- LINUX系统学习笔记管道符和作业控制 ,shell变量 , 环境变量配置文件
- Linux学习记录--进程控制相关系统调用 推荐
- linux初级学习之系统服务的控制第八章学习笔记
- Linux(RadHat)基础学习—系统服务控制及sshd服务
- Linux学习记录--进程控制相关系统调用
- Linux之ubuntu学习笔记(二):一些常用快捷键和相关命令来控制系统任务ctr+z,ctr+c,ctrl+d
- Linux学习笔记_系统输入输出标准(重定向,>,>>,<,2>&1,xargs)
- Python 标准输入输出 StringIO urllib- 千月的python linux 系统管理指南学习笔记(16)
- 学习嵌入式Linux系统
- linux系统学习渐进教程
- linux系统学习 (转自linuxsir.org)zz
- linux 学习笔记(系统管理篇#已整理完#)
- 如何系统地学习linux
- 如何系统的学习linux
- Linux学习之常用命令1-系统管理命令
- 学习嵌入式Linux系统的笔记和体会
- Linux基础知识学习笔记(一)--文件系统的权限管理