使用static关键字保存和恢复程序运行状态
来源:互联网 发布:移动免流端口 编辑:程序博客网 时间:2024/06/05 10:26
今天做了一个控制Linux终端状态的实验,程序运行过程中,终端需要调整到 nobuffer、noecho。即,无缓冲,无回显状态。并且一次仅能接受一个字符的输入。
实现如下:
int set_cr_noecho_mode(){ struct termios ttystate; tcgetattr(0, &ttystate); // read current setting ttystate.c_lflag &= ~ICANON; //no buffering ttystate.c_lflag &= ~ECHO; //no echo ttystate.c_cc[VMIN] = 1; // get 1 char at a time tcsetattr(0, TCSANOW, &ttystate); // install setting}
为了在这些设置使用过后,能恢复终端在次之前的状态,必须对其状态进行保存,使用一个static变量就可以轻松解决!这个方法,同样适用于很多临时改变状态,并且需要恢复的情况。
int tty_mode(int how){ static struct termios original_mode; static int original_flags; if(how == 0) { //save tcgetaddr(0, &original_mode); original_flags = fcntl(0, F_GETFL); } else { //restore tcsetattr(0, TCSANOW, &original_mode); fcntl(0, F_SETFL, original_flags); }}
- 使用static关键字保存和恢复程序运行状态
- 保存和恢复应用程序状态
- 状态数据保存和恢复
- 如何禁止App在后台运行以及如何保存和恢复App的状态
- 如何禁止App在后台运行以及如何保存和恢复App的状态
- 如何禁止App在后台运行以及如何保存和恢复App的状态
- 保存和恢复activity的状态数据
- 保存和恢复activity的状态数据
- Android保存和恢复activity状态数据
- Activity界面状态保存和恢复
- Activitty状态保存onSaveInstanceState和恢复onRestoreInstanceState
- Activity状态的保存和恢复
- 保存和恢复activity的状态
- Fragment的状态保存和恢复
- iOS应用状态保存和恢复
- Android处理运行时变更保存数据状态恢复Activity
- final 和static关键字使用
- static关键字和const关键字的使用
- ubuntu8.10更新源 以及scipy numpy的安装
- Party Lamps
- Dbank网盘下载地址提取ASP
- linux下mmap的映射。
- 【编程语言】C++--华为面试题
- 使用static关键字保存和恢复程序运行状态
- IDE 不是程序员的唯一选择(一)
- Oracle笔记6(Fundamentals II)
- 数据池的应用和反射
- 2012 年 华为上机题 java 约瑟夫环
- open session and Hibernate事务处理机制
- 缩放记录
- Java中线程安全问题个人理解
- scanf和gets获取字符串时的区别