#ifndef BASE_H #define BASE_H #include "QByteArray" #include "QList" class myarray:public QByteArray { public: myarray(){} myarray(const char *data,int len):QByteArray(data,len){} myarray(const char *data):QByteArray(){ int len=strlen(data)+1; QByteArray::append(data,len); } myarray(int size,char data):QByteArray(size,data){} myarray(const myarray &data):QByteArray(data){} virtual ~myarray(){} char operator [](int index){ int size=this->size(); if(index<0) index=size+index; if(index>=size) return char(0); return QByteArray::operator [](index); } myarray &operator =(const myarray &b){ QByteArray::operator =(b); return *this; } // myarray &operator =(const myarray b){ // QByteArray::operator =(b); // return *this; // } myarray &operator =(const QByteArray &b){ QByteArray::operator =(b); return *this; } // myarray &operator =(const QByteArray b){ // QByteArray::operator =(b); // return *this; // } }; class mystring:public QString { public: mystring(){} mystring(const char *data):QString(data){} mystring(myarray &data):QString(data.data()){} mystring(QByteArray &data):QString(data.data()){} mystring(QByteArray data):QString(data.data()){} mystring(QString &data):QString(data){} mystring(QString data):QString(data){} virtual ~mystring(){} const char *data(){ localdata=QString::toLocal8Bit(); return localdata.data(); } mystring &operator =(const QString &b){ QString::operator =(b); return *this; } protected: myarray localdata; }; template QList str_to_nums(mystring str,char c); myarray str_to_data(mystring str,char c); #endif // BASE_H