我的学习之旅(20)console.h和console.c
来源:互联网 发布:魔方大数据 编辑:程序博客网 时间:2024/06/16 00:42
void console_write(void *tty, char *buf ){ unsigned int number = 0; unsigned char ch; unsigned char *up; if( !tty || !buf ) return; /* 统计当前write_q队列中的字符数*/ number = ((((tty_struct_t *)tty)->write_q.head-((tty_struct_t *)tty)->write_q.tail)&(TTY_BUF_SIZE-1)); /* 读取并处理所有write_q中的字符*/ while( number-- ) { ch = get_char_from_queue( &((tty_struct_t *)tty)->write_q); if( ch > 31 && ch < 127 ) { /*非控制字符*/ if( g_x >= DISP_MAX_X) { g_x = g_x - DISP_MAX_X;//换行并进一行 g_position = g_position - BYTES_FOR_ONE_LINE; add_a_line(); } //刷新g_position以便后面刷新光标位置 up = (unsigned char *)g_position; up[0] = ch; //字符 up[1] = g_color; //颜色 g_position += 2; g_x++; } else if(ch == 10 || ch== 11 || ch== 12 || ch == 13) { /*换行'\n' 并重新调整坐标*/ add_a_line(); gotoxy(0, g_y); } else if ( ch == 177 ||ch==127 ) { /*删除符号*/ delete_char(); } else { /*不支持*/ } } /*刷新光标位置*/ (void)set_cursor(1);}
0 0
- 我的学习之旅(20)console.h和console.c
- 我的学习之旅(17)console.h和console.c
- 我的学习之旅(18)console.h和console.c
- 我的学习之旅(19)console.h和console.c
- 我的学习之旅 keyboard.h和keyboard.c
- 我的学习之旅keyboard.h和keyboard.c
- 我的学习之旅 keybaord.h和keyboard.c
- Console.read()、Console.readline()、Console.readkey()和Console.Write()、Console.Writeline()的区别
- Console.read()、Console.readline()、Console.readkey()和Console.Write、Console.Writeline()的意思
- console.dir()和console.log()的区别
- console.dir()和console.log()的区别
- Console学习
- 我的学习之旅(16)stdarg.h和vsprintf.c
- 我的学习之旅(23)traps.c和 start32.h
- include/console.h
- include/console.h
- console
- Console
- 异步信号安全(可重入性)与线程安全
- android nfc开发文档
- 关于CListView和CListCtrl的排序!
- MyEclipse10启动Tomcat8出错
- 剑指Offer之 - 丑数
- 我的学习之旅(20)console.h和console.c
- Xcode集成POD教程
- 用minpack求参数优化
- Linux(CentOS 6)下配置安装Tomcat并配置JDK环境
- C++ 对有静态字段的类导出——_declspec(dllimport) 的重要性
- 薯片笔记 浅谈工厂模式
- gdbinit 使用(转)
- rsyslog
- JAVA中各种日期表示字母