- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有这段C代码
#include"stdio.h"
main()
{
int x;
char c;
for(x=1;(c=getchar())!=EOF;printf("%d ",x++));
}
它打印 x 从到 1 到 n,其中 n 是 getchar() 从标准输入中获取的第 n 个字符。
对于任何正常输入,如 - 单个字符“a”,它读取 2 个字符“a”和“\n”。所以计数是 2。我明白了。
但是,当我从键盘按下 PgUp 或 PgDn 时,终端有“^[[5~”或“^[[6~”字符流,所以输出计数应该是 6。
5 来自“^[[5~”,1 来自“\n”终止符。
但计数只有 5,那么实际发生了什么?^[[5~怎么是4个字符?
我认为“~”可能被视为哨兵字符或其他东西,但如果我提供“1~”,则计数为 3。
友情提示 - 我有被禁止再提问的危险。我搜索了答案,但找不到。如果您认为必须删除此问题,请在评论中告诉我。
最佳答案
脱字符 (^
) 传统上用于打印没有标准视觉表示的 ASCII 控制字符。 ^[
是单个字符,ESC
(0x1b)。
请注意,您可以打印出您阅读的每个字符的数值,看看是否有任何意外(在这种情况下,您会发现与显示不匹配的低值)。
关于c - 为什么 PgUp(^[[5~) 或 PgDn(^[[6~) 输入在从 getchar 获取时被认为是 4 个字符而不是 5 个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34487260/
我希望 PgUp 和 PgDn 键只是向上或向下移动显示文件的内容,但光标(在 Emacs Lingo 中的点)应该停留在它所在的位置(在屏幕上)。不幸的是,默认的 Emacs 行为是不同的。默认行为
我在 Trackbar Winforms 控件中偶然发现了一个有趣的行为。 在水平轨迹栏上,左/右箭头键按预期工作。 (向左箭头将 slider 向左移动并减小值,向右箭头则相反)也可以使用向上/向下
self.DrawArea2.bind_all('', self.scrollimage) elif event.keysym =='End': 上面的代码会在按下 End 键时检测到它。我用什么来检
我一直无法弄清楚如何让 PgDn/PgUp 键 在 R 图形查看器 中工作。 甚至demo()程序似乎也不支持它。 有人能够向我指出一些代码来说明如何实现这一点吗? 最佳答案 德克是对的。 另一个需要
我对 Javascript 很陌生,我有一个任务是创建一个字母猜谜游戏。我已经完成了这一切,并且想要加倍努力,在按下字母以外的其他内容时创建警报。我一两天前发现了这个很好的例子.. toLowerCa
我有一个 jQuery UI 对话框,其中有足够的内容来触发垂直滚动条的出现。我发现使其滚动的唯一方法是单击并拖动滚动条,或单击滚动条区域 - 即无法使用 PgUp 或 PgDn 键、箭头键或空格键使
我正在尝试将 Vim 命令映射到 ctrl+pgup和 ctrl+pgdn组合键。这些键的 vim 语法不起作用(即 和 ,或 和 )。 由于默认的 vim 语法不起作用,我猜测终端没有发送
我有一个 WPF RichTextBox 控件,我希望它在各方面都像普通的 RichTextBox 一样运行,只是用户无法编辑文本并且插入符号不可见。我遇到的问题是,当我将 IsReadOnly 更改
我有这段C代码 #include"stdio.h" main() { int x; char c; for(x=1;(c=getchar())!=EOF;printf("%d ",x
默认情况下,Visual Studio Code 中的 Ctrl+PageUp 和 Ctrl+PageDown 组合会将 View 切换到下一个/上一个选项卡。我想重新配置它们,使它们像在 Visua
我是一名优秀的程序员,十分优秀!