home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / Software / TemaCD / tcvpa / data1.cab / MyFileGroup / INCLUDE / String.hpp < prev    next >
C/C++ Source or Header  |  1999-06-03  |  3KB  |  82 lines

  1. #ifndef _INC_STRING_HPP
  2. #define _INC_STRING_HPP
  3. #ifdef BUILD_TCCORE
  4. #define TCCORELIB __declspec(dllexport)
  5. #else
  6. #ifdef BUILD_LOCAL
  7. #define TCCORELIB
  8. #else
  9. #define TCCORELIB __declspec(dllimport)
  10. #endif
  11. #endif
  12.  
  13. // **********************************************************************
  14. class TCCORELIB TC_CString 
  15. {
  16. friend TCCORELIB BOOL operator == (const char *s1, const TC_CString & s2);
  17. private:
  18. union
  19. {
  20.     char isAlloc;
  21.     char buffer[16];
  22.     struct
  23.     {
  24.         UINT dummy1;
  25.         UINT mem;
  26.         char * ptr;
  27.     }
  28.     a;
  29. };
  30. private:  void _Init ()  ;
  31. public:  void _Free ()  ;
  32. public:   TC_CString ()  ;
  33. public:   TC_CString (const TC_CString & src)  ;
  34. public:   TC_CString (const char * str)  ;
  35. public:   TC_CString (int length)  ;
  36. public:   ~TC_CString ()  ;
  37. public:  void Set (const char * str_)  ;
  38. public:  void SetLen (int size)  ;
  39. public:  char* Get ()  ;
  40. public:  int Len ()  ;
  41. public:   operator const char* ()  ;
  42. public:  TC_CString & operator += (const char * str_)  ;
  43. public:  TC_CString & operator += ( const char chr )  ;
  44. public:  TC_CString & operator += (const TC_CString & str)  ;
  45. public:  TC_CString & operator = (const TC_CString & str)  ;
  46. public:  TC_CString & operator = (const char * str)  ;
  47.  
  48. }; // end of class TC_CString
  49.  
  50. // **********************************************************************
  51. TCCORELIB TC_CString operator + (const TC_CString & s1, const TC_CString & s2)  ;
  52. TCCORELIB TC_CString operator + (const TC_CString & s1, const char *s2)  ;
  53. TCCORELIB TC_CString operator + (const char *s1, const TC_CString & s2)  ;
  54. TCCORELIB BOOL operator == (const TC_CString &s1, const TC_CString &s2)  ;
  55. TCCORELIB BOOL operator == (const TC_CString &s1, const char *s2)  ;
  56. TCCORELIB BOOL operator == (const char *s1, const TC_CString & s2)  ;
  57. TCCORELIB BOOL operator != (const TC_CString & s1, const TC_CString & s2)  ;
  58. TCCORELIB BOOL operator != (const TC_CString & s1, const char *s2)  ;
  59. TCCORELIB BOOL operator != (const char *s1, const TC_CString & s2)  ;
  60.  extern  TCCORELIB char tc_sNull [];
  61. TCCORELIB TC_CString tcStr (const char*str)  ;
  62. TCCORELIB TC_CString tcStr (long val,int radix=10)  ;
  63. TCCORELIB TC_CString tcStr (double val, int dec)  ;
  64. TCCORELIB void tcDtoa ( double doub_val,  int dec, char * buffer )  ;
  65. TCCORELIB char* tcStrTrimBegin (char* s)  ;
  66. TCCORELIB char* tcStrTrimEnd (char *s)  ;
  67. TCCORELIB char* tcStrTrim (char *s)  ;
  68. TCCORELIB TC_CString& tcStrTrim (TC_CString & str)  ;
  69. TCCORELIB TC_CString& tcStrInsert (TC_CString & src, LPCSTR str)  ;
  70. TCCORELIB int tcLastIndexOf (LPCSTR src, int chr)  ;
  71. TCCORELIB TC_CString tcSubString (LPCSTR src, int start, int end=-1)  ;
  72. TCCORELIB char* _tcVSprintf (const char * fmt, va_list arg_ptr)  ;
  73. TCCORELIB void _tcSprintfLock ()  ;
  74. TCCORELIB void _tcSprintfUnlock ()  ;
  75. TCCORELIB TC_CString tcSPrintf (LPCSTR fmt, ...)  ;
  76. TCCORELIB TC_CString tcVSPrintf (const char * fmt, va_list arg_ptr)  ;
  77. TCCORELIB TC_CString& tcCSPrintf (TC_CString &dst, LPCSTR fmt, ...)  ;
  78. TCCORELIB TC_CString& tcCVSPrintf (TC_CString &dst, const char * fmt, va_list arg_ptr)  ;
  79. TCCORELIB void winout (LPCSTR fmt, ... )  ;
  80.  
  81. #endif // _INC_STRING_HPP
  82.