⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wrdstr.c

📁 unix环境下c语言屏幕编程开发
💻 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 + -