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

📄 chardel.c

📁 该程序是C语言编写的
💻 C
字号:
/****************************************************************/
/* Wdelch() routine of the PCcurses package			*/
/*								*/
/****************************************************************/
/* This version of curses is based on ncurses, a curses version	*/
/* originally written by Pavel Curtis at Cornell University.	*/
/* I have made substantial changes to make it run on IBM PC's,	*/
/* and therefore consider myself free to make it public domain.	*/
/*				Bjorn Larsson (bl@infovox.se)	*/
/****************************************************************/
/* 1.4:  Use short wherever possible. Portability		*/
/*	 improvements:					900114	*/
/* 1.3:	 MSC -W3, Turbo'C' -w -w-pro checkes:		881005	*/
/* 1.2:	 Max limits off by 1. Fixed thanks to S. Creps:	881002	*/
/* 1.0:	 Release:					870515	*/
/****************************************************************/

#include <curses.h>
#include <curspriv.h>

char _curses_chardel_rcsid[] = "@(#)chardel.c    v.1.4  - 900114";

/****************************************************************/
/* Wdelch() deletes the character at the window cursor, and the	*/
/* characters to the right of it are shifted left, inserting a	*/
/* space at the last position of the line.			*/
/****************************************************************/

int	wdelch(win)
  WINDOW	*win;
  {
  short		*temp1;
  short		*temp2;
  short		*end;
  short	 y = win->_cury;
  short	 x = win->_curx;
  short	 maxx = win->_maxx - 1;

  end = &win->_line[y][maxx];
  temp1 = &win->_line[y][x];
  temp2 = temp1 + 1;
  while (temp1 < end)
    *temp1++ = *temp2++;
  *temp1 = ' ' | (win->_attrs & ATR_MSK);
  win->_maxchng[y] = maxx;
  if (win->_minchng[y] == _NO_CHANGE || win->_minchng[y] > x)
    win->_minchng[y] = x;
  return(OK);
  } /* wdelch */

/****************************************************************/
/* Delch() deletes the character at the stdscr cursor, and the	*/
/* characters to the right of it are shifted left, inserting a	*/
/* space at the last position of the line.			*/
/****************************************************************/

int delch()
  {
  return(wdelch(stdscr));
  } /* delch */

/****************************************************************/
/* Mvdelch() moves the stdscr cursor to a new position, then	*/
/* deletes the character at the stdscr cursor, and the charac-	*/
/* ters to the right of it are shifted left, inserting a space	*/
/* at the last position of the line.				*/
/****************************************************************/

int mvdelch(y,x)
  int y;
  int x;
  {
  if (wmove(stdscr,y,x) == ERR)
    return(ERR);
  return(wdelch(stdscr));
  } /* mvdelch */

/****************************************************************/
/* Mvwdelch() moves the cursor of window 'win' to a new posi-	*/
/* tion, then deletes the character at the stdscr cursor, and	*/
/* the characters to the right of it are shifted left, inser-	*/
/* ting a space at the last position of the line.		*/
/****************************************************************/

int mvwdelch(win,y,x)
  WINDOW *win;
  int y;
  int x;
  {
  if (wmove(win,y,x) == ERR)
    return(ERR);
  return(wdelch(win));
  } /* mvwdelch */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -