home *** CD-ROM | disk | FTP | other *** search
- #define __DSTRING_H
-
-
- #ifndef __STRING_H
- #include "string.h"
- #endif
-
-
- class dstring /* dynamic string */
- {
- int l; /* length */
- char *p; /* asciiz */
-
- void init();
-
- public:
-
- dstring();
- dstring(int id);
- dstring(char s[]);
- dstring(int *r, char s[]);
- ~dstring();
-
- int set(dstring &s) { return set(s.p); }
- int getlen() { return l; }
- int append(dstring &s) { return append(s.p); }
- int compare(char s[]) { return strcmp(p, s); }
- int compare(dstring &s) { return strcmp(p, s.p); }
- char &operator[](int i) { return p[i]; }
- char *operator+(int i) { return p+i; }
- char *getbuf() { return p; }
- operator char*() { return getbuf(); }
-
-
- int set(int n);
- int set(char s[]);
- int setfmt(char fmt[], ...);
- int append(char s[]);
- void putbuf(char s[]);
- void setempty();
- char *takbuf();
- dstring &operator=(dstring &s);
-
- static char empty[];
- };
-