70,008
社区成员




//统计从输入大文件结尾为止的字符数
#include<stdio.h>
int main(void)
{
int total = 0;
puts("请输入字符,键入两次ctrl+z结束,或换行后键入一次ctrl+z结束");
while(getchar() != EOF)
{
total++;
}
printf("输入的字符中,共有字符数%d个。\n", total);
return 0;
}
#include<stdio.h>
#include<conio.h>
int main()
{
int c;
while((c=getch())!='0')
printf("0x%02x\n",(unsigned int)c);
return 0;
}
测得
Ctrl-A~Ctrl-Z为1~26
F1~F10为0x00 0x3b~0x00 0x44,F11为0xe0 0x85,F12为0xe0 0x86
Shift-F1~Shift-F10为0x00 0x54~0x00 0x5d,F11为0xe0 0x87,F12为0xe0 0x88
Ctrl-F1~Ctrl-F10为0x00 0x5e~0x00 0x67,F11为0xe0 0x89,F12为0xe0 0x8a
Alt-F1~Alt-F10为0x00 0x68~0x00 0x71,F11为0xe0 0x8b,F12为0xe0 0x8c
Page Up为0xe0 0x49,Page Down为0xe0 0x51
Home为0xe0 0x47,End为0xe0 0x4f
Insert为0xe0 0x52,Delete为0xe0 0x53
↑为0xe0 0x48,←0xe0 0x4b,→0xe0 0x4d,↓0xe0 0x50
Ctrl-Page Up为0xe0 0x86,Ctrl-Page Down为0xe0 0x76
Ctrl-Home为0xe0 0x77,Ctrl-End为0xe0 0x75
Ctrl-Insert为0xe0 0x92,Ctrl-Delete为0xe0 0x93
Ctrl-↑为0xe0 0x8d,Ctrl-←0xe0 0x73,Ctrl-→0xe0 0x74,Ctrl-↓0xe0 0x91
Alt-Page Up为0x00 0x99,Alt-Page Down为0x00 0xa1
Alt-Home为0x00 0x97,Alt-End为0x00 0x9f
Alt-Insert为0x00 0xa2,Alt-Delete为0x00 0xa3
Alt-↑为0x00 0x98,Alt-←0x00 0x9b,Alt-→0x00 0x9d,Alt-↓0x00 0xa0
然而#define EOF (-1)
所以键盘上的按键的值没有等于EOF的。