上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2.5 删除字符
对字符的删除处理由函数del实现,del函数的实现详见代码清单1.9。
代码清单1.9 del函数
下面分析代码清单1.9。
• 第3~7行:此时坐标(x,y)指向光标所在的位置,若光标不位于行首,则在第5行中,对列坐标x减1后,坐标(x,y)指向待删除的字符。在第6行中,更新sum_char_x数组。
• 第8~13行:若光标位于行首,并且不在首行,表示待删除字符是上一行的最后1个字符(由sum_char_x数组指定),则在第10行中将当前行的字符数清0,在第11行中将行坐标减1,在第12行中从sum_char_x数组获取待删除字符的行坐标。此时,坐标(x,y)指向待删除的字符。
• 第14行:调用erase_char函数,删除待删除字符。删除过程详见1.2.2节。此时,坐标(x,y)指向下一个显示字符在显示器上的位置。