home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Supreme Volume 6 #1
/
swsii.zip
/
swsii
/
099
/
HH_STR13.ZIP
/
HHSTRING.H
< prev
next >
Wrap
C/C++ Source or Header
|
1993-03-13
|
16KB
|
327 lines
/* H H H H SSS TTTTT RRRR IIIII N N GGG */
/* H H H H S S T R R I N N G G */
/* H H H H S T R R I NN N G */
/* HHHHH HHHHH SSS T RRRR I N N N G GG */
/* H H H H S T R R I N NN G G */
/* H H H H S S T R R I N N G G */
/* H H H H SSS T R R IIIII N N GGG */
/* */
/************************************************************************/
/* */
/* define function equates */
/* */
#include <ctype.h> /* for the "is..." macros */
#include <dos.h> /* for DATE structure */
#include <string.h> /* for ANSI string functions */
#define strequal(a, b) !strcmp((a), (b))/* strequal = reverse */
/* of strcmp */
#define strnotequal(a, b) strcmp((a), (b))/* strnotequal = strcmp */
#define streos(s) strset((s), '\0')/* streos = fill with EOSs */
#define strblank(s) strset((s), ' ')/* strblank = fill with blanks */
#define strzero(s) strset((s), '0')/* strzero = fill with ASCII 0s*/
#define strend(s) ((s) + strlen(s))/* strend = pointer to end of s*/
#define strdelwhite(s) strchrdelgr((s), " \t\n\f\r\v")/* delete */
/* whitespace */
#define ptrfirstsub(a, b) strstr((a), (b))
/* - - - - - - - - */
/* */
/* define all ptrnext<...> functions as being the corresponding */
/* ptrfirst<...> function, but with the pointer increased by one */
/* (NOTE: ptrnextword and ptrnexttext are exceptions to this) */
/* */
#define ptrnextblank(a) ptrfirstblank(a+1)
#define ptrnextchr(a, b) ptrfirstchr(a+1, b)
#define ptrnextchri(a, b) ptrfirstchri(a+1, b)
#define ptrnextdig(a) ptrfirstdig(a+1)
#define ptrnexthex(a) ptrfirsthex(a+1)
#define ptrnextnotblank(a) ptrfirstnotblank(a+1)
#define ptrnextnotchr(a, b) ptrfirstnotchr(a+1, b)
#define ptrnextnotchri(a, b) ptrfirstnotchri(a+1, b)
#define ptrnextnotdig(a) ptrfirstnotdig(a+1)
#define ptrnextnothex(a) ptrfirstnothex(a+1)
#define ptrnextnotrange(a, b, c) ptrfirstnotrange(a+1, b, c)
#define ptrnextnotgr(a, b) ptrfirstnotgr(a+1, b)
#define ptrnextnottextterm(a) ptrfirstnottextterm(a+1)
#define ptrnextnotwhite(a) ptrfirstnotwhite(a+1)
#define ptrnextnotwordterm(a) ptrfirstnotwordterm(a)
#define ptrnextrange(a, b, c) ptrfirstrange(a+1, b, c)
#define ptrnextgr(a, b) ptrfirstgr(a+1, b)
#define ptrnextsub(a, b) strstr(a+1, b)
#define ptrnextsubi(a, b) ptrfirstsubi(a+1, b)
#define ptrnextwhite(a) ptrfirstwhite(a+1)
#define ptrnextwordterm(a) ptrfirstwordterm(a+1)
#define ptrnexttextterm(a) ptrfirsttextterm(a+1)
/* - - - - - - - - */
/* */
/* define string constants */
/* */
#define EOS '\0' /* C-language End-Of-String */
#define EOL '\n' /* C-language End-Of_Line */
/* - - - - - - - - */
/* */
/* define macros */
/* */
#define ISBLANK(s) (*(s) == ' ')
#define ISEOL(s) (*(s) == '\n')
#define ISEOS(s) (*(s) == '\0')
#define ISTAB(s) (*(s) == '\t')
#define ISWHITE(s) ((*(s) == ' ') || (*(s) == '\t'))
#define ISWORDTERM(s) (isspace(*(s)) || (*(s) == '\0'))
/* */
/* note that the following macro provides only PART of what is referred */
/* to in the documentation as a "text terminator" which consists of any */
/* of the characters in ISTEXTTERM but also includes any character in */
/* ISWORDTERM */
/* */
#define ISTEXTTERM(s) ((*(s) == '.') || (*(s) == '!') || (*(s) == '?') || (*(s) == ',') || (*(s) == ':') || (*(s) == ';'))
/* - - - - - - - - */
/* */
/* function prototypes for hhstring (alphabetical order) */
/* */
unsigned int atoh(char *hexstring);
unsigned int atoh2(int *nchars, char *hexstring);
unsigned long atolh(char *hexstring);
unsigned long atolh2(int *nchars, char *hexstring);
unsigned int atoo(char *octalstring);
unsigned int atoo2(int *nchars, char *octalstring);
char btoc(int digit);
int ctob(char c);
int ctod(char c);
int ctoh(char c);
char *date_without(char *date_string, char *separator);
char *date_withpad(char *date_string, char *separator, char padchar);
char dtoc(int digit);
char *fnconv_1to2(char *fname);
char *fnconv_2to1(char *fname);
char htoc(int digit);
int isfilename(char *filename);
char *make_date_without(char *date_string, char *separator, struct dosdate_t *DATE);
char *make_date_withpad(char *date_string, char *separator, struct dosdate_t *DATE, char padchar);
char *ptrfirstblank(char *ptr);
char *ptrfirstchr(char *ptr, char find);
char *ptrfirstchri(char *ptr, char find);
char *ptrfirstdig(char *ptr);
char *ptrfirstgr(char *instring, char *chars);
char *ptrfirsthex(char *ptr);
char *ptrfirstnotblank(char *ptr);
char *ptrfirstnotchr(char *ptr, char find);
char *ptrfirstnotchri(char *ptr, char find);
char *ptrfirstnotdig(char *ptr);
char *ptrfirstnotgr(char *instring, char *chars);
char *ptrfirstnothex(char *ptr);
char *ptrfirstnotrange(char *instring, char c1, char c2);
char *ptrfirstnottextterm(char *ptr);
char *ptrfirstnotwhite(char *ptr);
char *ptrfirstnotwordterm(char *ptr);
char *ptrfirstrange(char *instring, char c1, char c2);
char *ptrfirstsubi(char *instring, char *substring);
char *ptrfirsttext(char *ptr);
char *ptrfirsttextterm(char *ptr);
char *ptrfirstwhite(char *ptr);
char *ptrfirstword(char *ptr);
char *ptrfirstwordterm(char *string);
char *ptrlastblank(char *string);
char *ptrlastchr(char *ptr, char findchar);
char *ptrlastchri(char *ptr, char findchar);
char *ptrlastdig(char *string);
char *ptrlastgr(char *string, char *chars);
char *ptrlasthex(char *string);
char *ptrlastnotblank(char *string);
char *ptrlastnotchr(char *string, char find);
char *ptrlastnotchri(char *string, char find);
char *ptrlastnotdig(char *string);
char *ptrlastnotgr(char *string, char *chars);
char *ptrlastnothex(char *string);
char *ptrlastnotrange(char *string, char c1, char c2);
char *ptrlastnottextterm(char *str);
char *ptrlastnotwhite(char *string);
char *ptrlastnotwordterm(char *string);
char *ptrlastrange(char *string, char c1, char c2);
char *ptrlastsub(char *string, char *substring);
char *ptrlastsubi(char *string, char *substring);
char *ptrlasttext(char *str);
char *ptrlasttextterm(char *str);
char *ptrlastwhite(char *string);
char *ptrlastword(char *string);
char *ptrlastwordterm(char *str);
char *ptrnexttext(char *ptr);
char *ptrnextword(char *ptr);
char *ptrprevblank(char *ptr);
char *ptrprevchr(char *ptr, char inchar);
char *ptrprevchri(char *ptr, char inchar);
char *ptrprevdig(char *string);
char *ptrprevgr(char *ptr, char *chars);
char *ptrprevhex(char *string);
char *ptrprevnotblank(char *ptr);
char *ptrprevnotchr(char *ptr, char find);
char *ptrprevnotchri(char *ptr, char find);
char *ptrprevnotdig(char *ptr);
char *ptrprevnotgr(char *ptr, char *chars);
char *ptrprevnotrange(char *ptr, char c1, char c2);
char *ptrprevnottextterm(char *ptr);
char *ptrprevnotwhite(char *ptr);
char *ptrprevnotwordterm(char *ptr);
char *ptrprevrange(char *ptr, char c1, char c2);
char *ptrprevsub(char *ptr, char *substring);
char *ptrprevsubi(char *ptr, char *substring);
char *ptrprevtext(char *ptr);
char *ptrprevtextterm(char *ptr);
char *ptrprevwhite(char *ptr);
char *ptrprevword(char *ptr);
char *ptrprevwordterm(char *ptr);
char *ptrthistext(char *ptr);
char *ptrthisword(char *ptr);
char *strblanktotab(char *inpline, int tabspace);
char *strcenter(char *instring);
char *strcentern(char *instring, int width);
char *strcenternew(char *newstring, char *instring);
char *strcenternnew(char *newstring, char *instring, int width);
unsigned long strchecksuma(char *instring);
unsigned long strchecksumia(char *instring);
unsigned char strchecksumil(char *instring);
unsigned char strchecksuml(char *instring);
int strchrcount(char *instring, int c);
int strchrcounti(char *instring, char c);
char *strchrdel(char *instring, char delchar);
char *strchrdelgr(char *instring, char *delchars);
char *strchrdelgrnew(char *newstring, char *instring, char *delchars);
char *strchrdeli(char *instring, char delchar);
char *strchrdelinew(char *newstring, char *instring, char delchar);
char *strchrdelnew(char *newstring, char *instring, char delchar);
char *strchrdelrange(char *instring, char lo, char hi);
char *strchrdelrangenew(char *newstring, char *instring, char lo, char hi);
char strchrfromc(int *nchars, char *instring);
char *strchrrpl(char *instring, char fromchar, char tochar);
char *strchrrpli(char *instring, int fromchar, int tochar);
char *strchrrplinew(char *newstring, char *instring, char fromchar, char tochar);
char *strchrrplnew(char *newstring, char *instring, char fromchar, char tochar);
int strchrtoc(char* tostring, char inchar);
char *strcode1 (char *instring, char *codestring);
char *strcode2(char *instring);
char *strcomma(char *instring);
char *strcommaf(char *instring);
char *strcommafnew(char *newstring, char *instring);
char *strcommafri(char *result, int num);
char *strcommafrl(char *result, long num);
char *strcommafrui(char *result, unsigned int num);
char *strcommafrul(char *result, unsigned long num);
char *strcomman(char *instring, int nchar);
char *strcommanew(char *newstring, char *instring);
char *strcommannew(char *newstring, char *instring, int nchar);
int strcommatoi(char *inpstring);
long int strcommatol(char *inpstring);
unsigned int strcommatoui(char *string);
unsigned long strcommatoul(char *string);
char *strdate1(char *date_string);
char *strdate2(char *date_string);
char *strdate3(char *date_string);
char *strdate4(char *date_string);
char *strdate5(char *date_string);
char *strdate6(char *date_string);
char *strdate7(char *date_string);
char *strdateconv(char *date_string, int intype, int outtype);
int strfromc(char *instring);
int strindex(char *ptr, char *str);
char *strinsert(char *instring, int putplace, char *putstring);
char *strinsertnew(char *newstring, char *instring, int putplace, char *putstring);
int strisempty(char *instring);
int striswhite(char *instring);
char *strleft(char *instring, int nchar);
char *strleftnew(char *newstring, char *instring, int n);
int strlenmax(char *string, int number);
int strlenmin(char *string, int number);
char *strlfdel (char *instring, int nchar);
char *strlfdelnew(char *newstring, char *instring, int nchar);
char *strlfjust(char *instring);
char *strlfjustnew(char *newstring, char *instring);
char *strlfpad(char *instring, int nchars, char PadChar);
char *strlfpadnew(char *newstring, char *instring, int nchars, char PadChar);
char *strlfrot(char *instring, int nchar);
char *strlfrotnew(char *newstring, char *instring, int nchar);
char *strlfset(char *instring, int nchar, char setchar);
char *strlfsetnew(char *newstring, char *instring, int nchar, char setchar);
char *strlfsh (char *instring, int nchar);
char *strlfshnew(char *newstring, char *instring, int nchar);
char *strlfsize(char *instring, int size);
char *strlfsizenew(char *newstring, char *instring, int size);
char *strlftrim(char *instring);
char *strlftrimnew(char *newstring, char *instring);
char *strmid(char *instring, int start);
char *strmiddel(char *instring, int start, int nchar);
char *strmiddelnew(char *newstring, char *instring, int start, int nchar);
char *strmidn(char *instring, int start, int nchars);
char *strmidnew(char *newstring, char *instring, int start);
char *strmidnnew(char *newstring, char *instring, int start, int nchars);
char *strmidpad(char *instring, int where, int nchar, char padchar);
char *strmidpadnew(char *newstring, char *instring, int where, int nchar, char padchar);
char *strmidset(char *instring, int start, int nchar, char setchar);
char *strmidsetnew(char *newstring, char *instring, int start, int nchar, char setchar);
char *strrepeat(char *newstring, char *instring, int n);
char *strrepeatn(char *newstring, char *instring, int ntimes, int nchars);
char *strreverse(char *instring);
char *strreversenew(char *newstring, char *instring);
char *strright(char *instring, int nchar);
char *strrightnew(char *newstring, char *instring, int n);
char *strrtdel(char *instring, int nchar);
char *strrtdelnew(char *newstring, char *instring, int nchar);
char *strrtjust(char *instring);
char *strrtjustnew(char *newstring, char *instring);
char *strrtpad(char *instring, int nchar, char PadChar);
char *strrtpadnew(char *newstring, char *instring, int nchar, char PadChar);
char *strrtrot(char *instring, int nchar);
char *strrtrotnew(char *newstring, char *instring, int nchar);
char *strrtset(char *instring, int nchar, char setchar);
char *strrtsetnew(char *newstring, char *instring, int nchar, char setchar);
char *strrtsh (char *instring, int nchar);
char *strrtshnew(char *newstring, char *instring, int nchar);
char *strrtsize(char *instring, int size);
char *strrtsizenew(char *newstring, char *instring, int size);
char *strrttrim(char *instring);
char *strrttrimnew(char *newstring, char *instring);
char *strsetnew(char *newstring, char *instring, char setchar);
char *strstri(char *instring, char *substring);
int strsubcount(char *string, char *substring);
int strsubcounti(char *string, char *substring);
char *strsubdel(char *instring, char *substring);
char *strsubdelall(char *instring, char *substring);
char *strsubdelallnew(char *newstring, char *instring, char *substring);
char *strsubdeli(char *instring, char *substring);
char *strsubdeliall(char *instring, char *substring);
char *strsubdeliallnew(char *newstring, char *instring, char *substring);
char *strsubdelinew(char *newstring, char *instring, char *substring);
char *strsubdelnew(char *newstring, char *instring, char *substring);
char *strsubrpl(char *instring, char *fromstr, char *tostr);
int strsubrplall(char *instring, char *fromstr, char *tostr);
int strsubrplallnew(char *newstring, char *instring, char *fromstr, char *tostr);
char *strsubrpli(char *instring, char *oldsub, char *newsub);
int strsubrpliall(char *instring, char *fromstr, char *tostr);
int strsubrpliallnew(char *newstring, char *instring, char *fromstr, char *tostr);
char *strsubrplinew(char *newstring, char *instring, char *fromstr, char *tostr);
char *strsubrplnew(char *newstring, char *instring, char *fromstr, char *tostr);
char *strtabtoblank(char *inpline, int tabspace);
char *strtextfirst(char *firsttext, char *string);
char *strtextget(char *text, char *ptr);
char *strtextlast(char *lasttext, char *instring);
char *strtextnext(char *nexttext, char *ptr);
char *strtextprev(char *prevtext, char *ptr);
char *strtextthis(char *thistext, char *ptr);
char *strtoc(char *tostring, char *instring);
char *strtolower(char *instring);
char *strtolowernew(char *newstring, char *instring);
char *strtoupper(char *instring);
char *strtouppernew(char *newstring, char *instring);
char *strtrim(char *instring);
char *strtrimnew(char *newstring, char *instring);
char *strwordfirst(char *firstword, char *instring);
char *strwordget(char *word, char *ptr);
char *strwordlast(char *lastword, char *instring);
char *strwordnext(char *nextword, char *ptr);
char *strwordprev(char *prevword, char *ptr);
char *strwordthis(char *thisword, char *inptr);
char *strxcat(char *instring, ... );
char *strxcatn(char *instring, int nchars, ... );