📄 wrdstr.c
字号:
/******************************************* * * 在x列y行处读一长length的字符串 * * 遇回车结束,长度放在length中. * *******************************************/#include "../inc/screen.h"wrdstr(x,y,string,length)int x,y,length;char *string;{ int i; char str[81]; unsigned char ch; if(x < 0 || x > 79-length || y < 0 || y > 24 || length < 1 || length>80) return(ERR); i = 0; for(i = 0; i < length; i++) { str[i] = BLANK; } str[length] = NUL; i = 0; scp(x,y); do{ ch = wgetch(); switch(ch) { case BS: if(i > 0) { i--; str[i] = BLANK; scp(x + i,y); putchar(BLANK); scp(x + i,y); } else beep(1); break; case 128: case 129: case 130: case 131: beep(1);break; case TAB: return(ABORT); case ESC: return(BKABORT); default: if(ch == LF) ; else if(ch < BLANK && ch >= NUL) beep(1); else if ( i < length ) { str[i] = ( char ) ch; scp(x + i,y); putchar ( '*' ) ; i++; } else beep(1); } }while(ch != CR && ch != LF); if(i) wstrcpy(str,string,length); else i=QUIT; return(i);}/******************************************* * * * 在x列y行处读一字符串 * * * * 遇回车结束. * * * *******************************************/wrdstr_cff(x,y,string)int x,y;char *string;{ int i; char str[81]; unsigned char ch; if(x < 0 || x > 80 || y < 0 || y > 24 ) return(ERR); i = 0; memset( str, 0x00, sizeof( str )); i = 0; scp(x,y); do{ ch = wgetch(); switch(ch) { case BS: if(i > 0) { i--; str[i] = BLANK; scp(x + i,y); putchar(BLANK); scp(x + i,y); } else beep(1); break; case 128: case 129: case 130: case 131: beep(1);break; case TAB: return(ABORT); case ESC: return(BKABORT); default: if(ch == LF) ; else if(ch < BLANK && ch >= NUL) beep(1); else if ( i < 80 ) { str[i] = ( char ) ch; scp(x + i,y); putchar ( ch ) ; i++; } else beep(1); } }while(ch != CR && ch != LF); if(i) strcpy(string,str ); else i=QUIT; return(i);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -