?? qstring.h
字號:
QString &setNum(long, int base=10); QString &setNum(ulong, int base=10); QString &setNum(qlonglong, int base=10); QString &setNum(qulonglong, int base=10); QString &setNum(float, char f='g', int prec=6); QString &setNum(double, char f='g', int prec=6); static QString number(int, int base=10); static QString number(uint, int base=10); static QString number(long, int base=10); static QString number(ulong, int base=10); static QString number(qlonglong, int base=10); static QString number(qulonglong, int base=10); static QString number(double, char f='g', int prec=6); bool operator==(const QString &s) const; bool operator<(const QString &s) const; inline bool operator>(const QString &s) const { return s < *this; } inline bool operator!=(const QString &s) const { return !operator==(s); } inline bool operator<=(const QString &s) const { return !operator>(s); } inline bool operator>=(const QString &s) const { return !operator<(s); } bool operator==(const QLatin1String &s) const; bool operator<(const QLatin1String &s) const; bool operator>(const QLatin1String &s) const; inline bool operator!=(const QLatin1String &s) const { return !operator==(s); } inline bool operator<=(const QLatin1String &s) const { return !operator>(s); } inline bool operator>=(const QLatin1String &s) const { return !operator<(s); } // ASCII compatibility#ifndef QT_NO_CAST_FROM_ASCII inline QT_ASCII_CAST_WARN_CONSTRUCTOR QString(const char *ch) : d(fromAscii_helper(ch)) {} inline QT_ASCII_CAST_WARN_CONSTRUCTOR QString(const QByteArray &a) : d(fromAscii_helper(a.constData(), qstrnlen(a.constData(), a.size()))) {} inline QT_ASCII_CAST_WARN QString &operator=(const char *ch) { return (*this = fromAscii(ch)); } inline QT_ASCII_CAST_WARN QString &operator=(const QByteArray &a) { return (*this = fromAscii(a.constData(), qstrnlen(a.constData(), a.size()))); } inline QT_ASCII_CAST_WARN QString &operator=(char c) { return (*this = QChar::fromAscii(c)); } // these are needed, so it compiles with STL support enabled inline QT_ASCII_CAST_WARN QString &prepend(const char *s) { return prepend(QString::fromAscii(s)); } inline QT_ASCII_CAST_WARN QString &prepend(const QByteArray &s) { return prepend(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } inline QT_ASCII_CAST_WARN QString &append(const char *s) { return append(QString::fromAscii(s)); } inline QT_ASCII_CAST_WARN QString &append(const QByteArray &s) { return append(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } inline QT_ASCII_CAST_WARN QString &operator+=(const char *s) { return append(QString::fromAscii(s)); } inline QT_ASCII_CAST_WARN QString &operator+=(const QByteArray &s) { return append(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } inline QT_ASCII_CAST_WARN QString &operator+=(char c) { return append(QChar::fromAscii(c)); } inline QT_ASCII_CAST_WARN bool operator==(const char *s) const; inline QT_ASCII_CAST_WARN bool operator!=(const char *s) const; inline QT_ASCII_CAST_WARN bool operator<(const char *s) const; inline QT_ASCII_CAST_WARN bool operator<=(const char *s2) const; inline QT_ASCII_CAST_WARN bool operator>(const char *s2) const; inline QT_ASCII_CAST_WARN bool operator>=(const char *s2) const; inline QT_ASCII_CAST_WARN bool operator==(const QByteArray &s) const; inline QT_ASCII_CAST_WARN bool operator!=(const QByteArray &s) const; inline QT_ASCII_CAST_WARN bool operator<(const QByteArray &s) const { return *this < QString::fromAscii(s.constData(), s.size()); } inline QT_ASCII_CAST_WARN bool operator>(const QByteArray &s) const { return *this > QString::fromAscii(s.constData(), s.size()); } inline QT_ASCII_CAST_WARN bool operator<=(const QByteArray &s) const { return *this <= QString::fromAscii(s.constData(), s.size()); } inline QT_ASCII_CAST_WARN bool operator>=(const QByteArray &s) const { return *this >= QString::fromAscii(s.constData(), s.size()); }#endif typedef QChar *iterator; typedef const QChar *const_iterator; typedef iterator Iterator; typedef const_iterator ConstIterator; iterator begin(); const_iterator begin() const; const_iterator constBegin() const; iterator end(); const_iterator end() const; const_iterator constEnd() const; // STL compatibility inline void push_back(QChar c) { append(c); } inline void push_back(const QString &s) { append(s); } inline void push_front(QChar c) { prepend(c); } inline void push_front(const QString &s) { prepend(s); }#ifndef QT_NO_STL static inline QString fromStdString(const std::string &s); inline std::string toStdString() const;# ifdef qdoc static inline QString fromStdWString(const std::wstring &s); inline std::wstring toStdWString() const;# else# ifndef QT_NO_STL_WCHAR static inline QString fromStdWString(const QStdWString &s); inline QStdWString toStdWString() const;# endif // QT_NO_STL_WCHAR# endif // qdoc#endif // compatibility struct Null { }; static const Null null; inline QString(const Null &): d(&shared_null) { d->ref.ref(); } inline QString &operator=(const Null &) { *this = QString(); return *this; } inline bool isNull() const { return d == &shared_null; }#ifdef QT3_SUPPORT inline QT3_SUPPORT const char *ascii() const { return ascii_helper(); } inline QT3_SUPPORT const char *latin1() const { return latin1_helper(); } inline QT3_SUPPORT QByteArray utf8() const { return toUtf8(); } inline QT3_SUPPORT QByteArray local8Bit() const{ return toLocal8Bit(); } inline QT3_SUPPORT void setLength(int nl) { resize(nl); } inline QT3_SUPPORT QString copy() const { return *this; } inline QT3_SUPPORT QString &remove(QChar c, bool cs) { return remove(c, cs?Qt::CaseSensitive:Qt::CaseInsensitive); } inline QT3_SUPPORT QString &remove(const QString &s, bool cs) { return remove(s, cs?Qt::CaseSensitive:Qt::CaseInsensitive); } inline QT3_SUPPORT QString &replace(QChar c, const QString &after, bool cs) { return replace(c, after, cs?Qt::CaseSensitive:Qt::CaseInsensitive); } inline QT3_SUPPORT QString &replace(const QString &before, const QString &after, bool cs) { return replace(before, after, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }#ifndef QT_NO_CAST_FROM_ASCII inline QT3_SUPPORT QString &replace(char c, const QString &after, bool cs) { return replace(QChar::fromAscii(c), after, cs ? Qt::CaseSensitive : Qt::CaseInsensitive); } // strange overload, required to avoid GCC 3.3 error inline QT3_SUPPORT QString &replace(char c, const QString &after, Qt::CaseSensitivity cs) { return replace(QChar::fromAscii(c), after, cs ? Qt::CaseSensitive : Qt::CaseInsensitive); }#endif inline QT3_SUPPORT int find(QChar c, int i = 0, bool cs = true) const { return indexOf(c, i, cs?Qt::CaseSensitive:Qt::CaseInsensitive); } inline QT3_SUPPORT int find(const QString &s, int i = 0, bool cs = true) const { return indexOf(s, i, cs?Qt::CaseSensitive:Qt::CaseInsensitive); } inline QT3_SUPPORT int findRev(QChar c, int i = -1, bool cs = true) const { return lastIndexOf(c, i, cs?Qt::CaseSensitive:Qt::CaseInsensitive); } inline QT3_SUPPORT int findRev(const QString &s, int i = -1, bool cs = true) const { return lastIndexOf(s, i, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }#ifndef QT_NO_REGEXP inline QT3_SUPPORT int find(const QRegExp &rx, int i=0) const { return indexOf(rx, i); } inline QT3_SUPPORT int findRev(const QRegExp &rx, int i=-1) const { return lastIndexOf(rx, i); }#endif inline QT3_SUPPORT QBool contains(QChar c, bool cs) const { return contains(c, cs?Qt::CaseSensitive:Qt::CaseInsensitive); } inline QT3_SUPPORT QBool contains(const QString &s, bool cs) const { return contains(s, cs?Qt::CaseSensitive:Qt::CaseInsensitive); } inline QT3_SUPPORT bool startsWith(const QString &s, bool cs) const { return startsWith(s, cs?Qt::CaseSensitive:Qt::CaseInsensitive); } inline QT3_SUPPORT bool endsWith(const QString &s, bool cs) const { return endsWith(s, cs?Qt::CaseSensitive:Qt::CaseInsensitive); } inline QT3_SUPPORT QChar constref(uint i) const { return at(i); } QT3_SUPPORT QChar &ref(uint i); inline QT3_SUPPORT QString leftJustify(int width, QChar fill = QLatin1Char(' '), bool trunc=false) const { return leftJustified(width, fill, trunc); } inline QT3_SUPPORT QString rightJustify(int width, QChar fill = QLatin1Char(' '), bool trunc=false) const { return rightJustified(width, fill, trunc); } inline QT3_SUPPORT QString lower() const { return toLower(); } inline QT3_SUPPORT QString upper() const { return toUpper(); } inline QT3_SUPPORT QString stripWhiteSpace() const { return trimmed(); } inline QT3_SUPPORT QString simplifyWhiteSpace() const { return simplified(); } inline QT3_SUPPORT QString &setUnicodeCodes(const ushort *unicode_as_ushorts, int size) { return setUtf16(unicode_as_ushorts, size); } inline QT3_SUPPORT const ushort *ucs2() const { return utf16(); } inline static QT3_SUPPORT QString fromUcs2(const ushort *unicode, int size = -1) { return fromUtf16(unicode, size); } inline QT3_SUPPORT QString &setAscii(const char *str, int len = -1) { *this = fromAscii(str, len); return *this; } inline QT3_SUPPORT QString &setLatin1(const char *str, int len = -1) { *this = fromLatin1(str, len); return *this; }protected: friend class QObject; const char *ascii_helper() const; const char *latin1_helper() const;public:#ifndef QT_NO_CAST_TO_ASCII inline QT3_SUPPORT operator const char *() const { return ascii_helper(); }private: QT3_SUPPORT operator QNoImplicitBoolCast() const;public:#endif#endif bool isSimpleText() const { if (!d->clean) updateProperties(); return d->simpletext; } bool isRightToLeft() const { if (!d->clean) updateProperties(); return d->righttoleft; }private:#if defined(QT_NO_CAST_FROM_ASCII) && !defined(Q_NO_DECLARED_NOT_DEFINED) QString &operator+=(const char *s); QString &operator+=(const QByteArray &s); QString(const char *ch); QString(const QByteArray &a); QString &operator=(const char *ch); QString &operator=(const QByteArray &a);#endif struct Data { QBasicAtomic ref; int alloc, size; ushort *data; ushort clean : 1; ushort simpletext : 1; ushort righttoleft : 1; ushort asciiCache : 1; ushort reserved : 12; ushort array[1]; }; static Data shared_null; static Data shared_empty; Data *d; QString(Data *dd, int /*dummy*/) : d(dd) {}#ifndef QT_NO_TEXTCODEC static QTextCodec *codecForCStrings;#endif static int grow(int); static void free(Data *); void realloc(); void realloc(int alloc); void expand(int i); void updateProperties() const; QString multiArg(int numArgs, const QString **args) const; static Data *fromLatin1_helper(const char *str, int size = -1); static Data *fromAscii_helper(const char *str, int size = -1); friend class QCharRef; friend class QTextCodec; friend inline bool qStringComparisonHelper(const QString &s1, const char *s2);};class Q_CORE_EXPORT QLatin1String{public: inline explicit QLatin1String(const char *s) : chars(s) {} inline QLatin1String &operator=(const QLatin1String &other) { chars = other.chars; return *this; } inline const char *latin1() const { return chars; } inline bool operator==(const QString &s) const { return s == *this; } inline bool operator!=(const QString &s) const { return s != *this; } inline bool operator>(const QString &s) const { return s < *this; } inline bool operator<(const QString &s) const { return s > *this; } inline bool operator>=(const QString &s) const { return s <= *this; } inline bool operator<=(const QString &s) const { return s >= *this; }private: const char *chars;};inline QString::QString(const QLatin1String &latin1) : d(fromLatin1_helper(latin1.latin1())){ }inline int QString::length() const{ return d->size; }inline const QChar QString::at(int i) const{ Q_ASSERT(i >= 0 && i < size()); return d->data[i]; }inline const QChar QString::operator[](int i) const{ Q_ASSERT(i >= 0 && i < size()); return d->data[i]; }inline const QChar QString::operator[](uint i) const{ Q_ASSERT(i < uint(size())); return d->data[i]; }inline bool QString::isEmpty() const{ return d->size == 0; }inline const QChar *QString::unicode() const{ return reinterpret_cast<const QChar*>(d->data); }inline const QChar *QString::data() const{ return reinterpret_cast<const QChar*>(d->data); }inline QChar *QString::data(){ detach(); return reinterpret_cast<QChar*>(d->data); }inline const QChar *QString::constData() const{ return reinterpret_cast<const QChar*>(d->data); }inline void QString::detach(){ if (d->ref != 1 || d->data != d->array) realloc(); }inline bool QString::isDetached() const{ return d->ref == 1; }inline QString &QString::operator=(const QLatin1String &s){ *this = fromLatin1(s.latin1()); return *this;}inline void QString::clear(){ if (!isNull()) *this = QString(); }inline QString::QString(const QString &s) : d(s.d){ Q_ASSERT(&s != this); d->ref.ref(); }inline int QString::capacity() const{ return d->alloc; }inline QString &QString::setNum(short n, int base){ return setNum(qlonglong(n), base); }inline QString &QString::setNum(ushort n, int base){ return setNum(qulonglong(n), base); }inline QString &QString::setNum(int n, int base){ return setNum(qlonglong(n), base); }inline QString &QString::setNum(uint n, int base){ return setNum(qulonglong(n), base); }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -