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

📄 gb_common.c

📁 Gambas is a graphical development environment based on a Basic interpreter, like Visual Basic. It us
💻 C
字号:
/***************************************************************************  common.c  common useful routines  Datatype management routines. Conversions between each Gambas datatype,  and conversions between Gambas datatypes and native datatypes.  (c) 2000-2004 Beno� Minisini <gambas@users.sourceforge.net>  This program 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 1, or (at your option)  any later version.  This program 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.  You should have received a copy of the GNU General Public License  along with this program; if not, write to the Free Software  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.***************************************************************************/#define __COMMON_BUFFER_C#include <ctype.h>#include "gb_common.h"PUBLIC char COMMON_buffer[256];PUBLIC long COMMON_pos;PRIVATE char *common_buffer;PRIVATE long common_len;PRIVATE int common_last;PUBLIC char COMMON_tolower[256];PUBLIC char COMMON_toupper[256];PUBLIC void COMMON_init(void){  int i;  for (i = 0; i < 256; i++)  {    COMMON_tolower[i] = tolower(i);    COMMON_toupper[i] = toupper(i);  }}PUBLIC int COMMON_strcasecmp(const char *s1, const char *s2){  register unsigned int i;  register int d;  register char c;  for (i = 0;; i++)  {    c = COMMON_tolower[(unsigned char)s1[i]];    d = c - COMMON_tolower[(unsigned char)s2[i]];    if (d < 0)      return -1;    else if (d > 0)      return 1;    else if (c == 0)      return 0;  }}PUBLIC int COMMON_strncasecmp(const char *s1, const char *s2, size_t n){  register unsigned int i;  register int d;  register char c;  for (i = 0; i < n; i++)  {    c = COMMON_tolower[(unsigned char)s1[i]];    d = c - COMMON_tolower[(unsigned char)s2[i]];    if (d < 0)      return -1;    else if (d > 0)      return 1;  }  return 0;}PUBLIC void COMMON_buffer_init(char *str, long len){  common_buffer = str;  common_len = len;  COMMON_pos = 0;  common_last = (-1);}PUBLIC int COMMON_look_char(void){  if (COMMON_pos >= common_len)    return (-1);  return (unsigned char)(common_buffer[COMMON_pos]);}PUBLIC int COMMON_get_char(void){  if (COMMON_pos >= common_len)    common_last = (-1);  else    common_last = (unsigned char)(common_buffer[COMMON_pos++]);  return common_last;}PUBLIC int COMMON_last_char(void){  return common_last;}PUBLIC int COMMON_put_char(char c){  if (COMMON_pos >= common_len)    return (-1);  common_buffer[COMMON_pos++] = c;  return 0;}PUBLIC void COMMON_jump_space(void){  int c;  for(;;)  {    c = COMMON_look_char();    if (c <= 0 || !isspace(c))      break;    COMMON_pos++;  }}PUBLIC char *COMMON_get_current(void){  return &common_buffer[COMMON_pos];}PUBLIC long COMMON_get_size_left(void){  return common_len - COMMON_pos;}#include "gb_common_swap_temp.h"

⌨️ 快捷键说明

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