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

📄 manexamp.c

📁 在非GUI环境下
💻 C
字号:
/* manexamp.c -- The examples which appear in the documentation are here. *//* Copyright (C) 1987-2002 Free Software Foundation, Inc.   This file is part of the GNU Readline Library, a library for   reading lines of text with interactive input and history editing.   The GNU Readline Library is free software; you can redistribute it   and/or modify it under the terms of the GNU General Public License   as published by the Free Software Foundation; either version 2, or   (at your option) any later version.   The GNU Readline Library is distributed in the hope that it will be   useful, but WITHOUT ANY WARRANTY; without even the implied warranty   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   The GNU General Public License is often shipped with GNU software, and   is generally kept in a file called COPYING or LICENSE.  If you do not   have a copy of the license, write to the Free Software Foundation,   59 Temple Place, Suite 330, Boston, MA 02111 USA. */#include <stdio.h>#include <readline/readline.h>/* **************************************************************** *//*                                                                  *//*   			How to Emulate gets ()			    *//*                                                                  *//* **************************************************************** *//* A static variable for holding the line. */static char *line_read = (char *)NULL;/* Read a string, and return a pointer to it.  Returns NULL on EOF. */char *rl_gets (){  /* If the buffer has already been allocated, return the memory     to the free pool. */  if (line_read)    {      free (line_read);      line_read = (char *)NULL;    }  /* Get a line from the user. */  line_read = readline ("");  /* If the line has any text in it, save it on the history. */  if (line_read && *line_read)    add_history (line_read);  return (line_read);}/* **************************************************************** *//*                                                                  *//*        Writing a Function to be Called by Readline.              *//*                                                                  *//* **************************************************************** *//* Invert the case of the COUNT following characters. */invert_case_line (count, key)     int count, key;{  register int start, end;  start = rl_point;  if (count < 0)    {      direction = -1;      count = -count;    }  else    direction = 1;        /* Find the end of the range to modify. */  end = start + (count * direction);  /* Force it to be within range. */  if (end > rl_end)    end = rl_end;  else if (end < 0)    end = -1;  if (start > end)    {      int temp = start;      start = end;      end = temp;    }  if (start == end)    return;  /* Tell readline that we are modifying the line, so save the undo     information. */  rl_modifying (start, end);  for (; start != end; start += direction)    {      if (_rl_uppercase_p (rl_line_buffer[start]))	rl_line_buffer[start] = _rl_to_lower (rl_line_buffer[start]);      else if (_rl_lowercase_p (rl_line_buffer[start]))	rl_line_buffer[start] = _rl_to_upper (rl_line_buffer[start]);    }  /* Move point to on top of the last character changed. */  rl_point = end - direction;}

⌨️ 快捷键说明

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