home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Programmierung / SOURCE.mdf / programm / msdos / pascal / rehack / contain / strings.h < prev   
Encoding:
C/C++ Source or Header  |  1991-05-09  |  2.5 KB  |  73 lines

  1. #ifndef __STRINGS_H
  2. #define __STRINGS_H
  3. // ╔════════════════════════════════════════════════╗
  4. // ║ strings.h, strings.cpp                         ║
  5. // ╟────────────────────────────────────────────────╢
  6. // ║ C++ string unit                                ║
  7. // ╟────────────────────────────────────────────────╢
  8. // ║ Written by Gus Smedstad                        ║
  9. // ╟────────────────────────────────────────────────╢
  10. // ║ Copyright 1990-91 NoGate Consulting            ║
  11. // ╚════════════════════════════════════════════════╝
  12.  
  13. #include <string.h>
  14.  
  15. class string {
  16.    char *char_ptr;   // pointer to string contents
  17.    int length;       // length of string in characters
  18. public:
  19.    string();
  20.    string(char text);
  21.    string(char *text);          
  22.    string(int size);        
  23.    string(string& source); 
  24.    ~string();
  25.    string copy(int start, int chars);
  26.    void   insert(int x, char *);
  27.    void   insert(int x, char);
  28.    void   remove(int start, int chars);
  29.    char  *value() {return char_ptr;};
  30.           operator char* () const {return char_ptr;};
  31.    char & operator [] (int i) { return char_ptr[i]; };
  32.    string operator+ (string& arg);
  33.    string operator+ (char *text);
  34.    string operator+ (char text);
  35.    string& operator= (string& arg);
  36.    string& operator= (char *text);
  37.    string& operator= (char text);
  38.    string& operator+= (string& arg);
  39.    string& operator+= (char *text);
  40.    string& operator+= (char text);
  41.    int operator<  (string& arg) 
  42.      {return strcmp(char_ptr, arg.char_ptr) < 0;};
  43.    int operator>  (string& arg)
  44.      {return strcmp(char_ptr, arg.char_ptr) > 0;};
  45.    int operator<= (string& arg)
  46.      {return strcmp(char_ptr, arg.char_ptr) <= 0;};
  47.    int operator>= (string& arg)
  48.      {return strcmp(char_ptr, arg.char_ptr) >= 0;};
  49.    int operator!= (const char *arg)
  50.      {return strcmp(char_ptr, arg) != 0;};
  51. //   int operator== (const string& arg) const;
  52.    int operator== (const char *arg) const
  53.      {return strcmp(char_ptr, arg) == 0;};
  54.  };
  55.  
  56. string chop(char *text, int length);
  57. string str(char arg);
  58. string str(char *arg);
  59. string str_long(long arg, int width = 0, int leading_zeroes = 0);
  60. inline string str_long(int arg, int width = 0, int z = 0)
  61.  { return str_long((long) arg, width, z); };
  62. string system_date();
  63. string system_time();
  64.  
  65. void delete_trailing_spaces(char *line);
  66. void delete_chars(char *line, int n);
  67. void delete_leading_spaces(char *line);
  68. string rep_str(int width, char c = ' ');
  69. string ljust(char *arg, int width, char c = ' ');
  70. string rjust(char *arg, int width, char c = ' ');
  71.  
  72.  
  73. #endif