1 /* $Id: H:/drh/idioms/book/RCS/str.doc,v 1.10 1996/06/26 23:02:01 drh Exp $ */ 2 #ifndef STR_INCLUDED 3 #define STR_INCLUDED 4 #include <stdarg.h> 5 extern char *Str_sub(const char *s, int i, int j); 6 extern char *Str_dup(const char *s, int i, int j, int n); 7 extern char *Str_cat(const char *s1, int i1, int j1, 8 const char *s2, int i2, int j2); 9 extern char *Str_catv (const char *s, ...); 10 extern char *Str_reverse(const char *s, int i, int j); 11 extern char *Str_map (const char *s, int i, int j, 12 const char *from, const char *to); 13 extern int Str_pos(const char *s, int i); 14 extern int Str_len(const char *s, int i, int j); 15 extern int Str_cmp(const char *s1, int i1, int j1, 16 const char *s2, int i2, int j2); 17 extern int Str_chr (const char *s, int i, int j, int c); 18 extern int Str_rchr (const char *s, int i, int j, int c); 19 extern int Str_upto (const char *s, int i, int j, 20 const char *set); 21 extern int Str_rupto(const char *s, int i, int j, 22 const char *set); 23 extern int Str_find (const char *s, int i, int j, 24 const char *str); 25 extern int Str_rfind(const char *s, int i, int j, 26 const char *str); 27 extern int Str_any (const char *s, int i, 28 const char *set); 29 extern int Str_many (const char *s, int i, int j, 30 const char *set); 31 extern int Str_rmany (const char *s, int i, int j, 32 const char *set); 33 extern int Str_match (const char *s, int i, int j, 34 const char *str); 35 extern int Str_rmatch(const char *s, int i, int j, 36 const char *str); 37 extern void Str_fmt(int code, va_list *app, 38 int put(int c, void *cl), void *cl, 39 unsigned char flags[], int width, int precision); 40 #undef T 41 #endif 42