QString.h
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:3k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef _DOODLE_QSTRING_H_
  2. #define _DOODLE_QSTRING_H_
  3. #include <stdlib.h>
  4. #include <stdio.h>
  5. #include "osp.h"
  6. #include "QList.h"
  7. /*#ifndef BOOL
  8. #define BOOL int
  9. #define TRUE 1
  10. #define FALSE 0
  11. #endif*/
  12. #ifndef NULL
  13. #define NULL 0
  14. #endif
  15. #ifdef __cplusplus
  16. extern "C"{
  17. #endif 
  18. typedef struct tagQString QString;
  19. struct tagQString
  20. {
  21.    void (*Init)(QString * self);
  22.    void (*Release)(QString * self);
  23.    BOOL (*AllocBuffer)(QString * self,int nLen);
  24.    int (*GetLength)(QString * self);
  25.    BOOL (*IsEmpty)(QString * self);
  26.    void (*ReSet)(QString * self,const char *szStr);
  27.    void (*Append)(QString * self,const char *szStr,int nLen);
  28.    void (*AppendChar)(QString * self,char ch);
  29.    void (*AppendInt)(QString * self,int n);
  30.    void (*AppendString)(QString * self,const char *str);
  31.    char (*GetAt)(QString * self,int index);
  32.    BOOL (*Include)(QString * self,char ch);
  33.    int (*Find)(QString * self,char ch,int offset);
  34.    int (*FindString)(QString * self,const char *str,int offset);
  35.    int (*ToInt)(QString * self);
  36.    int (*CompareString)(QString * self,const char * lpsz);
  37.    BOOL (*Equal)(QString * self,const char * lpsz);
  38.    int (*Replace)(QString * self,char chOld, char chNew);
  39.    char *(*Mid)(QString * self,int nFirst);
  40.    char *(*MidIndex)(QString * self,int nFirst,int nCount);
  41.    char *(*Left)(QString * self,int nCount);
  42.    char *(*Right)(QString * self,int nCount);
  43.    void (*Trim)(QString * self);
  44.    void (*TrimRight)(QString * self);
  45.    void (*TrimLeft)(QString * self);
  46.    char *(*MakeUpper)(QString * self);
  47.    char *(*MakeLower)(QString * self);
  48.    int (*Delete)(QString * self,int nIndex, int nCount );
  49.    QList (*Split)(QString * self,char ch );
  50.    char * m_dataBuff;
  51.    int m_nDataLength;
  52.    int m_nAllocLength;
  53. };
  54. QString NewQString();
  55. QString *MallocQString();
  56. void QStringInit(QString * self);
  57. void QStringRelease(QString * self);
  58. BOOL QStringAllocBuffer(QString * self,int nLen);
  59. int QStringGetLength(QString * self);
  60. BOOL QStringIsEmpty(QString * self);
  61. void QStringReSet(QString * self,const char *szStr);
  62. void QStringAppend(QString * self,const char *szStr,int nLen);
  63. void QStringAppendChar(QString * self,char ch);
  64. void QStringAppendInt(QString * self,int n);
  65. void QStringAppendString(QString * self,const char *str);
  66. char QStringGetAt(QString * self,int index);
  67. BOOL QStringInclude(QString * self,char ch);
  68. int QStringFind(QString * self,char ch,int offset);
  69. int QStringFindString(QString * self,const char *str,int offset);
  70. int QStringToInt(QString * self);
  71. int QStringCompareString(QString * self,const char * lpsz);
  72. BOOL QStringEqual(QString * self,const char * lpsz);
  73. int QStringReplace(QString * self,char chOld, char chNew);
  74. char *QStringMid(QString * self,int nFirst);
  75. char *QStringMidIndex(QString * self,int nFirst,int nCount);
  76. char *QStringLeft(QString * self,int nCount);
  77. char *QStringRight(QString * self,int nCount);
  78. void QStringTrim(QString * self);
  79. void QStringTrimRight(QString * self);
  80. void QStringTrimLeft(QString * self);
  81. char *QStringMakeUpper(QString * self);
  82. char *QStringMakeLower(QString * self);
  83. int QStringDelete(QString * self,int nIndex, int nCount );
  84. QList QStringSplit(QString * self,char ch );
  85. typedef struct tagQStringList QStringList;
  86. struct tagQStringList
  87. {
  88.    void (*Release)(QStringList * self);
  89.    QList list;
  90. };
  91. QStringList NewQStringList();
  92. QStringList *MallocQStringList();
  93. void QStringListRelease(QStringList * self);
  94. #ifdef __cplusplus
  95. }
  96. #endif
  97. #endif