作者Jyou (徵跟我一样穷的人)
看板EE_DSnP
标题[问题] hw2里面的back space char
时间Sun Oct 22 00:44:50 2006
bool
CmdParser::moveBufPtr(char* const ptr)
{
if (ptr < _readBuf || ptr > _readBufEnd) {
mybeep(); return false;
}
// move left
while (_readBufPtr > ptr) {
cout << char(BACK_SPACE_CHAR);
--_readBufPtr;
}
// move right
while (_readBufPtr < ptr) {
cout << *_readBufPtr;
++_readBufPtr;
}
return true;
}
这是老师给的其中一个function
其中move left的部份是cout << char(BACK_SPACE_CHAR);
我键盘上的BACK_SPACE_CHAR的ASCII是127
在cout BACK_SPACE_CHAR後会自动删除一个字元..
换句话说 照这样设定时 我按下 ctrl-a (原先回到行首的程式码)
整行就会被删除
而原先作业上BACK_SPACE_CHAR 的 ASCII是8
是cursor往左移一位
我觉得教授的code指的应该是ASC
而非键盘上的BACK_SOACE_CHAR
是不是应该定义两个enum...
一个是键盘上BACK_SPACE的按钮
一个把cursor是往左移一个的ASCII code..
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.251.102
1F:推 ric2k1:I will reply your question in the next post. 10/22 01:04
2F:→ ric2k1:If you still see a problem, please let me know. Thanks. 10/22 01:05
※ 编辑: Jyou 来自: 140.112.251.102 (10/22 09:59)