📄 ascii.c
字号:
/* ascii.c**** Shows the ASCII (or ATASCII, PETSCII) codes of typed characters.**** 2003-03-09, Greg King <gngking@erols.com>*//* Define USE_STDIO, when you want to use the stdio functions.** Do not define it, when you want to use the conio functions.** NOTE: stdin on some targets is line-bufferred. You might need to type** a key, then tap the return(enter)-key, in order to see each code.*//*#define USE_STDIO*/#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#define QUIT 'Q'/* r -- row. t -- table-column.*/static unsigned char height, width, r, t;static int c;#ifndef USE_STDIO# define PRINT cprintf# define PUT(c) cputc((char)(c))/* conio doesn't echo typed characters.** So, this function does it.*/static int GET(void) { PUT(c = (int)cgetc()); return c; }#else# define PRINT printf# define GET getchar#endifint main(void) {# ifndef USE_STDIO /* conio doesn't scroll! Avoid trouble by starting at the top ** of the screen, and never going "below" the bottom of the screen. */ clrscr(); r = 7; /* allow for prompt */# endif /* This prompt fits on the VIC-20's narrow screen. */ PRINT("Type characters to see\r\ntheir hexadecimal code\r\nnumbers:\r\n\n"); screensize(&width, &height); /* get the screen's dimensions */ width /= 6; /* get number of codes on a line */ cursor(true); t = 0; while ((c = GET()) != EOF) {# ifndef USE_STDIO if (r == height) { clrscr(); t = 0; PUT(c); /* echo char. again because screen was erased */ r = 1; } if (c == '\n') ++r;# endif PRINT("=$%02x ", c); if (c == QUIT) break; if (++t == width) { PRINT("\r\n"); ++r; t = 0; } } PRINT("\r\n"); return EXIT_SUCCESS; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -