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

📄 vstring.h

📁 ctags的最新版5.7,可以比较5.6版看看,免费下载
💻 H
字号:
/**   $Id: vstring.h 550 2007-06-07 05:50:32Z dhiebert $**   Copyright (c) 1998-2002, Darren Hiebert**   This source code is released for free distribution under the terms of the*   GNU General Public License.**   Provides the external interface for resizeable strings.*/#ifndef _VSTRING_H#define _VSTRING_H/**   INCLUDE FILES*/#include "general.h"  /* must always come first */#if defined(HAVE_STDLIB_H)# include <stdlib.h>  /* to define size_t */#endif/**   MACROS*/#ifndef DEBUG# define VSTRING_PUTC_MACRO 1#endif#ifdef VSTRING_PUTC_MACRO#define vStringPut(s,c) \	(void)(((s)->length + 1 == (s)->size ? vStringAutoResize (s) : 0), \	((s)->buffer [(s)->length] = (c)), \	((c) == '\0' ? 0 : ((s)->buffer [++(s)->length] = '\0')))#endif#define vStringValue(vs)      ((vs)->buffer)#define vStringItem(vs,i)     ((vs)->buffer[i])#define vStringLength(vs)     ((vs)->length)#define vStringSize(vs)       ((vs)->size)#define vStringCat(vs,s)      vStringCatS((vs), vStringValue((s)))#define vStringNCat(vs,s,l)   vStringNCatS((vs), vStringValue((s)), (l))#define vStringCopy(vs,s)     vStringCopyS((vs), vStringValue((s)))#define vStringNCopy(vs,s,l)  vStringNCopyS((vs), vStringValue((s)), (l))#define vStringChar(vs,i)     ((vs)->buffer[i])#define vStringTerminate(vs)  vStringPut(vs, '\0')#define vStringLower(vs)      toLowerString((vs)->buffer)#define vStringUpper(vs)      toUpperString((vs)->buffer)/**   DATA DECLARATIONS*/typedef struct sVString {	size_t  length;  /* size of buffer used */	size_t  size;    /* allocated size of buffer */	char   *buffer;  /* location of buffer */} vString;/**   FUNCTION PROTOTYPES*/extern boolean vStringAutoResize (vString *const string);extern void vStringClear (vString *const string);extern vString *vStringNew (void);extern void vStringDelete (vString *const string);#ifndef VSTRING_PUTC_MACROextern void vStringPut (vString *const string, const int c);#endifextern void vStringStripNewline (vString *const string);extern void vStringStripLeading (vString *const string);extern void vStringChop (vString *const string);extern void vStringStripTrailing (vString *const string);extern void vStringCatS (vString *const string, const char *const s);extern void vStringNCatS (vString *const string, const char *const s, const size_t length);extern vString *vStringNewCopy (const vString *const string);extern vString *vStringNewInit (const char *const s);extern void vStringCopyS (vString *const string, const char *const s);extern void vStringNCopyS (vString *const string, const char *const s, const size_t length);extern void vStringCopyToLower (vString *const dest, const vString *const src);extern void vStringSetLength (vString *const string);#endif  /* _VSTRING_H *//* vi:set tabstop=4 shiftwidth=4: */

⌨️ 快捷键说明

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