QStringView Class

QStringView クラスは、QString API の読み取り専用サブセットを使用して、UTF-16 文字列の統一ビューを提供します。詳細...

Header: #include <QStringView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

注意:このクラスの関数はすべてリエントラントです。

パブリック型

パブリック関数

QStringView()
QStringView(const Char (&)[N] string)
QStringView(const Char *str)
QStringView(const Container &str)
QStringView(const QString &str)
QStringView(std::nullptr_t)
QStringView(const Char *first, const Char *last)
QStringView(const Char *str, qsizetype len)
QString arg(Args &&... args) const
QChar at(qsizetype n) const
QChar back() const
QStringView::const_iterator begin() const
QStringView::const_iterator cbegin() const
QStringView::const_iterator cend() const
void chop(qsizetype length)
QStringView chopped(qsizetype length) const
int compare(QChar ch) const
int compare(QChar ch, Qt::CaseSensitivity cs) const
int compare(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.5) int compare(QUtf8StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.1) QStringView::const_iterator constBegin() const
(since 6.0) QStringView::const_pointer constData() const
(since 6.1) QStringView::const_iterator constEnd() const
bool contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.1) bool contains(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
(since 6.1) qsizetype count(const QRegularExpression &re) const
(since 6.0) qsizetype count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.4) qsizetype count(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.0) qsizetype count(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QStringView::const_reverse_iterator crbegin() const
QStringView::const_reverse_iterator crend() const
QStringView::const_pointer data() const
bool empty() const
QStringView::const_iterator end() const
bool endsWith(QChar ch) const
bool endsWith(QChar ch, Qt::CaseSensitivity cs) const
bool endsWith(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QChar first() const
(since 6.0) QStringView first(qsizetype n) const
QChar front() const
qsizetype indexOf(QChar c, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype indexOf(QLatin1StringView l1, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.1) qsizetype indexOf(const QRegularExpression &re, qsizetype from = 0, QRegularExpressionMatch *rmatch = nullptr) const
bool isEmpty() const
(since 6.7) bool isLower() const
bool isNull() const
bool isRightToLeft() const
(since 6.7) bool isUpper() const
bool isValidUtf16() const
QChar last() const
(since 6.0) QStringView last(qsizetype n) const
(since 6.2) qsizetype lastIndexOf(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
qsizetype lastIndexOf(QChar c, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype lastIndexOf(QLatin1StringView l1, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.1) qsizetype lastIndexOf(const QRegularExpression &re, qsizetype from, QRegularExpressionMatch *rmatch = nullptr) const
(since 6.3) qsizetype lastIndexOf(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.2) qsizetype lastIndexOf(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.2) qsizetype lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype length() const
(since 6.4) int localeAwareCompare(QStringView other) const
(since 6.8) qsizetype max_size() const
QStringView::const_reverse_iterator rbegin() const
QStringView::const_reverse_iterator rend() const
qsizetype size() const
(since 6.8) QStringView &slice(qsizetype pos, qsizetype n)
(since 6.8) QStringView &slice(qsizetype pos)
(since 6.0) QStringView sliced(qsizetype pos, qsizetype n) const
(since 6.0) QStringView sliced(qsizetype pos) const
(since 6.0) QList<QStringView> split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.0) QList<QStringView> split(QStringView sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.0) QList<QStringView> split(const QRegularExpression &re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const
bool startsWith(QChar ch) const
bool startsWith(QChar ch, Qt::CaseSensitivity cs) const
bool startsWith(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.0) CFStringRef toCFString() const
(since 6.0) double toDouble(bool *ok = nullptr) const
(since 6.0) float toFloat(bool *ok = nullptr) const
(since 6.0) int toInt(bool *ok = nullptr, int base = 10) const
QByteArray toLatin1() const
QByteArray toLocal8Bit() const
(since 6.0) long toLong(bool *ok = nullptr, int base = 10) const
(since 6.0) qlonglong toLongLong(bool *ok = nullptr, int base = 10) const
(since 6.0) NSString *toNSString() const
(since 6.0) short toShort(bool *ok = nullptr, int base = 10) const
QString toString() const
(since 6.0) uint toUInt(bool *ok = nullptr, int base = 10) const
(since 6.0) ulong toULong(bool *ok = nullptr, int base = 10) const
(since 6.0) qulonglong toULongLong(bool *ok = nullptr, int base = 10) const
(since 6.0) ushort toUShort(bool *ok = nullptr, int base = 10) const
QList<uint> toUcs4() const
QByteArray toUtf8() const
qsizetype toWCharArray(wchar_t *array) const
(since 6.0) auto tokenize(Needle &&sep, Flags... flags) const
QStringView trimmed() const
void truncate(qsizetype length)
const QStringView::storage_type *utf16() const
(since 6.7) std::u16string_view operator std::u16string_view() const
QChar operator[](qsizetype n) const

静的パブリック・メンバー

QStringView fromArray(const Char (&)[Size] string)
(since 6.8) qsizetype maxSize()
size_t qHash(QStringView key, size_t seed = 0)
bool operator!=(const QStringView &lhs, const QStringView &rhs)
bool operator<(const QStringView &lhs, const QStringView &rhs)
bool operator<=(const QStringView &lhs, const QStringView &rhs)
bool operator==(const QStringView &lhs, const QStringView &rhs)
bool operator>(const QStringView &lhs, const QStringView &rhs)
bool operator>=(const QStringView &lhs, const QStringView &rhs)

詳細説明

QStringViewは、自身が所有していないUTF-16文字列の連続部分を参照します。最初にQString を構築する必要なく、あらゆる種類の UTF-16 文字列へのインターフェース型として機能します。

UTF-16文字列は、QCharushortchar16_t 、(Windowsなど16ビット型のプラットフォームでは)wchar_t の配列(またはQString 、std::basic_stringなどの配列互換のデータ構造)として表すことができます。

QStringViewはインターフェース型として設計されており、その主な用途は関数のパラメータ型です。QStringView が自動変数またはデータ・メンバとして使用される場合、文字列ビューが削除されたデータを参照することにならないように、参照される文字列データ(例えば、QString によって所有される)がすべてのコード・パス上で QStringView よりも長くなるように注意する必要があります。

インターフェイス型として使用される場合、QStringViewは1つの関数で多種多様なUTF-16文字列データソースを受け入れることができます。したがって、QStringViewを受け入れる1つの関数は、3つの関数のオーバーロード(QString(const QChar*, qsizetype) )を置き換えることができ、同時に、u"Hello World"char16_t 文字列リテラルなど、さらに多くの文字列データソースを関数に渡すことができます。

QStringViewは、参照からconstではなく、値で渡されるべきです:

    void myfun1(QStringView sv);        // preferred
    void myfun2(const QStringView &sv); // compiles and works, but slower

どのような文字列を関数に渡すかについて、ユーザーに最大限の自由を与えたい場合は、QStringViewのオーバーロードに付随して、以下のオーバーロードを使用します。

  • QChar: このオーバーロードは、QStringViewバージョンに委譲することができます:
        void fun(QChar ch) { fun(QStringView(&ch, 1)); }

    技術的な理由により、QStringViewはQChar コンストラクタを提供できません。

  • QString: 文字列の変更されていないコピーを保存し、QString の暗黙の共有を利用したい場合。
  • QLatin1StringView QLatin1StringView QLatin1StringView QString QLatin1StringView でオーバーロードされた関数は、意味的に等価な QStringView バージョンの呼び出しよりも、メモリ割り当てが厳密に少なくなることをユーザーは期待しています。

QStringViewは関数の戻り値としても使用できます。QStringViewを返す関数を呼び出す場合は、参照される文字列データを維持するために関数が約束する時間よりも長くQStringViewを維持しないように、特に注意してください。疑わしい場合は、toString ()を呼び出してQStringViewをQString に変換することで、データへの強力な参照を取得します。

QStringViewはリテラル型ですが、char16_t としてデータを格納するため、繰り返しはconstexprconst char16_t* からconst QChar* へのキャスト、これはconstexpr 関数では許可されていません)。代わりに、constexpr コンテキストでインデックス付きループやutf16() を使用することができます。

QStringも参照のこと

メンバ型ドキュメント

QStringView::const_iterator

この型定義は,QStringView に対する STL スタイルの const イテレータを提供する.

iterator およびconst_reverse_iterator参照

QStringView::const_pointer

value_type * のエイリアス.STL との互換性のために提供される.

QStringView::const_reference

value_type & のエイリアス.STL との互換性のために提供される.

QStringView::const_reverse_iterator

この型定義は,QStringView に対する STL 形式の const 逆イテレータを提供する.

reverse_iterator およびconst_iteratorも参照

QStringView::difference_type

std::ptrdiff_t のエイリアス.STL との互換性のために提供される.

QStringView::iterator

この型定義は,QStringView に対する STL スタイルの const イテレータを提供する.

QStringView は変更可能なイテレータをサポートしないので,これは と同じである.const_iterator

const_iterator およびreverse_iteratorも参照

QStringView::pointer

value_type * のエイリアス.STL との互換性のために提供されています。

QStringView はミュータブルポインタをサポートしていないので、これは と同じです。const_pointer

QStringView::reference

value_type & のエイリアス.STL との互換性のために提供されます。

QStringView はミュータブル参照をサポートしないので,これは と同じです.const_reference

QStringView::reverse_iterator

この型定義は,QStringView に対する STL スタイルの const 逆イテレータを提供する.

QStringView はミュータブルな逆イテレータをサポートしないので,これは と同じである.const_reverse_iterator

const_reverse_iterator およびiteratorも参照

QStringView::size_type

qsizetype のエイリアス。STL との互換性のために用意されています。

QStringView::storage_type

char16_t のエイリアス。

QStringView::value_type

const QChar のエイリアス。STL との互換性のために用意されています。

メンバ関数ドキュメント

[since 6.0] QList<QStringView> QStringView::split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[since 6.0] QList<QStringView> QStringView::split(QStringView sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

sep が出現する箇所でビューを部分文字列ビューに分割し、それらの文字列ビューのリストを返す。

sep,behavior,cs がどのように相互作用して結果を形成するかについてはQString::split() を参照。

注意: 返されるビューはすべて、この文字列ビューが参照するデータが有効である限り有効です。データを破棄すると、すべてのビューがダングリングになります。

この関数は Qt 6.0 で導入されました。

template <typename... Args> QString QStringView::arg(Args &&... args) const

この文字列内の%Nargs の対応する引数で置き換えます。引数は位置ではありません:args の最初の引数は%N を最も低いN (すべて) で置き換え、args の 2 番目の引数は%N を次に低いN で置き換えるなどです。

Args は、暗黙のうちに 、 、 に変換するものであれば何でも構わない。QString QStringView QLatin1StringView

さらに、以下の型もサポートされている:QChar QLatin1Char

QString::arg()も参照のこと

[constexpr noexcept] int QStringView::compare(QChar ch) const

[noexcept] int QStringView::compare(QChar ch, Qt::CaseSensitivity cs) const

[noexcept] int QStringView::compare(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューを Latin-1 文字列ビューl1 、または文字ch と比較します。この文字列ビューがl1 またはch より小さい場合は負の整数を、l1 またはch より大きい場合は正の整数を、等しい場合は 0 を返します。

csQt::CaseSensitive (デフォルト)の場合、比較は大文字小文字を区別します。

operator==()、operator<()、operator>()も参照

[noexcept] bool QStringView::startsWith(QChar ch) const

[noexcept] bool QStringView::startsWith(QChar ch, Qt::CaseSensitivity cs) const

[noexcept] bool QStringView::startsWith(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept] bool QStringView::startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューが、それぞれstr で表示される UTF-16 文字列、l1 で表示される Latin-1 文字列、またはch で表示される文字で始まる場合はtrue を返し、そうでない場合はfalse を返す。

csQt::CaseSensitive (デフォルト)の場合、検索は大文字小文字を区別します。

endsWith()も参照

[noexcept] bool QStringView::endsWith(QChar ch) const

[noexcept] bool QStringView::endsWith(QChar ch, Qt::CaseSensitivity cs) const

[noexcept] bool QStringView::endsWith(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept] bool QStringView::endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューの末尾が、それぞれstr で表示される UTF-16 文字列、l1 で表示される Latin-1 文字列、または文字ch である場合はtrue を返し、そうでない場合はfalse を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

startsWith()も参照

[noexcept] qsizetype QStringView::indexOf(QChar c, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept] qsizetype QStringView::indexOf(QLatin1StringView l1, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept] qsizetype QStringView::indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューにおいて、インデックス位置from から順に検索して、str が示す UTF-16 文字列、l1 が示す Latin-1 文字列、またはch が示す文字が、それぞれ最初に出現するインデッ クス位置を返す。strl1ch がそれぞれ見つからなければ -1 を返す。

csQt::CaseSensitive (デフォルト)の場合、検索は大文字小文字を区別する。

from が -1 の場合、検索は最後の文字から始まり、-2 の場合、最後から次の文字から始まる。

QString::indexOf()も参照

[noexcept] bool QStringView::contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept] bool QStringView::contains(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept] bool QStringView::contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューに、str で表示される UTF-16 文字列、l1 で表示される Latin-1 文字列、または文字ch がそれぞれ含まれている場合、true を返します。そうでない場合、false を返します。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

indexOf()も参照

[noexcept] qsizetype QStringView::lastIndexOf(QChar c, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept] qsizetype QStringView::lastIndexOf(QLatin1StringView l1, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept] qsizetype QStringView::lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューにおいて、str が示す UTF-16 文字列、l1 が示す Latin-1 文字列、またはch が示す文字が、それぞれインデックス位置from から後方に検索して最後に出現するインデックス位置を返す。

from が -1 の場合、検索は最後の文字から始まり、-2 の場合、最後から次の文字から始まる。

strl1c がそれぞれ見つからなければ -1 を返す。

csQt::CaseSensitive (デフォルト)の場合、検索は大文字小文字を区別する。

注意: 長さ0のstr またはl1 を検索する場合、-1 は通常文字列ビューの最後から検索すると考えられているにもかかわらず、負のfrom 、データの最後のマッチは検索から除外されます:最後のマッチは最後の文字のなので、除外されます。このような最後の空のマッチを含めるには、from に正の値を与えるか、from パラメータを完全に省略します。

QString::lastIndexOf()も参照

[noexcept, since 6.2] qsizetype QStringView::lastIndexOf(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept, since 6.2] qsizetype QStringView::lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数はlastIndexOf() をオーバーロードしたものである。

この文字列ビューの最後の文字からさかのぼって検索し、str で表示される UTF-16 文字列、またはl1 で表示される Latin-1 文字列が、それぞれこの文字列ビュー内で最後に出現するインデックス位置を返す。それぞれstr またはl1 が見つからない場合は -1 を返す。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

この関数は Qt 6.2 で導入されました。

QString::lastIndexOf()も参照してください

[constexpr noexcept(...), since 6.0] template <typename Needle, typename... Flags> auto QStringView::tokenize(Needle &&sep, Flags... flags) const

sep が出現する箇所で文字列を部分文字列ビューに分割し、それらの文字列の遅延シーケンスを返します。

と同等です。

return QStringTokenizer{std::forward<Needle>(sep), flags...};

ただし、コンパイラで C++17 CTAD(Class Template Argument Deduction)が有効になっていなくても動作します。

sepflags がどのように相互作用して結果を形成するかについては、QStringTokenizer を参照してください。

注: この関数はQStringTokenizer を返しますが、テンプレート引数を明示的に指定することは絶対に避けてください。C++17 クラス テンプレート引数控除(CTAD)を使用できる場合は、次のように記述できます。

QStringTokenizer result = sv.tokenize(sep);

(と書くことができます(テンプレート引数なし)。C++17 CTAD を使用できない場合は、auto 変数にのみ戻り値を格納する必要があります:

auto result = sv.tokenize(sep);

これは、QStringTokenizer のテンプレート引数は、それが返される特定のtokenize() オーバーロードに非常に微妙に依存し、通常はセパレーターに使用される型に対応しないからです。

この関数は Qt 6.0 で導入されました。

注意: この関数は "noexcept(qTokenize(std::declval<const QStringView&>(), std::forward<Needle>(needle), flags...)" が真の場合、例外をスローしません。

QStringTokenizer およびqTokenize()も参照してください

[constexpr noexcept] QStringView::QStringView()

NULL文字列ビューを構築します。

isNull() も参照

[constexpr noexcept] template <typename Char, size_t N> QStringView::QStringView(const Char (&)[N] string)

文字列リテラルstring に対して文字列ビューを構築します。ビューは、最初のChar(0) が現れるか、N が現れるか、どちらか先に現れるまで配列をカバーします。配列全体が必要な場合は、代わりにfromArray() を使用します。

string は、この文字列ビューオブジェクトの有効期間中有効でなければなりません。

このコンストラクタは、string が実際の配列であり、Char が互換性のある文字型である場合にのみ、オーバーロード解決に参加します。互換性のある文字型はQChar ushort,char16_t および(Windowsなど16ビット型のプラットフォームでは)wchar_t です。

fromArrayも参照してください

[constexpr noexcept] template <typename Char> QStringView::QStringView(const Char *str)

str の文字列ビューを構築する。長さは、最初のChar(0) をスキャンして決定されます。

str は、この文字列ビューオブジェクトの有効期間中有効でなければなりません。

str としてnullptr を渡すと安全で、NULL 文字列ビューになります。

このコンストラクタは、str が配列でなく、Char が互換性のある文字型である場合にのみ、オーバーロードの解決に参加します。互換性のある文字型はQChar ushort,char16_t および(Windowsなど16ビット型のプラットフォームでは)wchar_t です。

[constexpr noexcept] template <typename Container, QStringView::if_compatible_container<Container> = true> QStringView::QStringView(const Container &str)

str の文字列ビューを構築する。長さはstd::size(str) から取得する。

std::data(str) は、この文字列ビューオブジェクトの有効期間中有効でなければなりません。

このコンストラクタは、Containervalue_type と互換性のある文字型を持つコンテナである場合にのみ、オーバーロード解決に参加します。互換性のある文字型は以下のとおりです:QChar ushort,char16_t および(Windowsなど16ビット型のプラットフォームでは)wchar_t です。

文字列ビューが空になるのは、std::size(str) == 0 の場合だけである。このコンストラクタがNULLの文字列ビューを生成できるかどうかは未定です(std::data(str) の場合は、nullptr を返す必要があります)。

isNull() およびisEmpty()も参照

[noexcept] QStringView::QStringView(const QString &str)

str の文字列ビューを構築します。

str.data() の文字列ビューを構築します。

文字列ビューが NULL になるのは、str.isNull() の場合のみです。

[constexpr noexcept] QStringView::QStringView(std::nullptr_t)

NULL 文字列ビューを構築します。

isNull()も参照してください

[constexpr] template <typename Char, QStringView::if_compatible_char<Char> = true> QStringView::QStringView(const Char *first, const Char *last)

長さ (last -first) のfirst の文字列ビューを構築します。

[first,last) の範囲は、この文字列ビューオブジェクトの有効期間中有効でなければなりません。

first として\nullptr を渡しても、lastnullptr の場合は安全であり、NULL 文字列ビューになります。

lastfirst より前にある場合、またはfirstnullptrlast がそうでない場合の動作は未定義です。

このコンストラクタは、Char が互換性のある文字型の場合にのみ、オーバーロード解決に参加します。互換性のある文字型は以下のとおりです:QChar ushort,char16_t および(Windowsなど16ビット型のプラットフォームでは)wchar_t です。

[constexpr] template <typename Char, QStringView::if_compatible_char<Char> = true> QStringView::QStringView(const Char *str, qsizetype len)

長さlen を持つstr の文字列ビューを構築する。

[str,len) の範囲は、この文字列ビューオブジェクトの存続期間中有効でなければならない。

str としてnullptr を渡しても、len が 0 の場合は安全であり、NULL 文字列ビューになります。

len が負の場合、または正の場合、strnullptr の場合の動作は未定義です。

このコンストラクタは、Char が互換性のある文字型の場合にのみ、オーバーロード解決に参加します。互換性のある文字型は以下のとおりです:QChar ushort,char16_t および(Windowsなど16ビット型のプラットフォームでは)wchar_t です。

[constexpr noexcept] QChar QStringView::at(qsizetype n) const

この文字列ビューの位置n にある文字を返します。

n が負であるか、size() よりも小さくない場合、動作は未定義である。

operator[]()、front()、back()も参照のこと

[constexpr] QChar QStringView::back() const

文字列ビューの最後の文字を返します。last() と同じ。

この関数は、STL との互換性のために用意されています。

警告: 空の文字列ビューでこの関数を呼び出すと、未定義の動作になります。

front()、first() およびlast()も参照してください

[noexcept] QStringView::const_iterator QStringView::begin() const

文字列ビューの最初の文字を指す constSTL 形式のイテレータを返します。

この関数は STL との互換性のために提供されています。

end()、constBegin()、cbegin()、rbegin()、data()も参照

[noexcept] QStringView::const_iterator QStringView::cbegin() const

begin() と同じ。

この関数は STL との互換性のために用意されています。

cend()、begin()、constBegin()、crbegin()、data()も参照

[noexcept] QStringView::const_iterator QStringView::cend() const

end() と同じ。

この関数は STL との互換性のために用意されています。

cbegin()、end()、constEnd()、crend()も参照

[constexpr noexcept] void QStringView::chop(qsizetype length)

この文字列ビューをlength 文字で切り捨てます。

*this = left(size() - length) と同じ。

注意: length < 0 またはlength >size() の場合の動作は未定義。

mid()、left()、right()、chopped()、truncate()、slice()も参照

[constexpr noexcept] QStringView QStringView::chopped(qsizetype length) const

このオブジェクトの先頭から始まる、長さsize() -length の部分文字列を返します。

left(size() - length) と同じ。

注意: length < 0 またはlength >size() の場合の動作は未定義。

mid()、left()、right()、chop()、truncate()、slice()も参照

[noexcept] int QStringView::compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューと文字列ビューstr を比較し、この文字列ビューがstr より小さい場合は 負の整数、str より大きい場合は正の整数、等しい場合は 0 を返す。

csQt::CaseSensitive (デフォルト)の場合、比較は大文字小文字を区別します。

operator==()、operator<()、operator>()も参照

[noexcept, since 6.5] int QStringView::compare(QUtf8StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューをQUtf8StringView str と比較し、この文字列ビューがstr より小さい場合は 負の整数、str より大きい場合は正の整数、等しい場合は 0 を返す。

csQt::CaseSensitive (デフォルト)の場合、比較は大文字小文字を区別します。

この関数は Qt 6.5 で導入されました。

operator==(),operator<(),operator>()も参照してください

[noexcept, since 6.1] QStringView::const_iterator QStringView::constBegin() const

begin() と同じ。

この関数は Qt 6.1 で導入されました。

constEnd()、begin()、cbegin()、crbegin()、data()も参照して ください。

[noexcept, since 6.0] QStringView::const_pointer QStringView::constData() const

文字列ビューの最初の文字への const ポインタを返します。

注意: 返り値で表される文字配列は、ヌル終端ではありません

この関数は Qt 6.0 で導入されました。

data(),begin(),end(),utf16()も参照してください

[noexcept, since 6.1] QStringView::const_iterator QStringView::constEnd() const

end() と同じ。

この関数は Qt 6.1 で導入されました。

constBegin()、end()、cend()、crend() も参照

[since 6.1] bool QStringView::contains(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const

正規表現re がこの文字列ビューのどこかにマッチする場合はtrue を返し、マッチしない場合はfalse を返します。

マッチが成功し、rmatchnullptr でない場合、マッチの結果をrmatch が指すQRegularExpressionMatch オブジェクトに書き込みます。

この関数はQt 6.1で導入されました。

QRegularExpression::match()も参照してください

[since 6.1] qsizetype QStringView::count(const QRegularExpression &re) const

文字列ビューで正規表現re がマッチした回数を返します。

歴史的な理由から、この関数は重複マッチを数えます。この動作は、QRegularExpressionMatchIterator を使って文字列ビューのマッチを単純に反復するのとは異なります。

この関数は Qt 6.1 で導入されました。

QRegularExpression::globalMatch()も参照してください

[noexcept, since 6.0] qsizetype QStringView::count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は count() をオーバーロードします。

文字列ビューにおける文字ch の出現回数を返します。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

この関数は Qt 6.0 で導入されました。

QString::count(),contains(),indexOf()も参照してください

[since 6.4] qsizetype QStringView::count(QLatin1StringView l1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は count() をオーバーロードします。

この文字列ビューで、l1 によって表示された Latin-1 文字列の(重複している可能性のある)出現回数を返します。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

この関数は Qt 6.4 で導入されました。

QString::count(),contains(),indexOf()も参照してください

[noexcept, since 6.0] qsizetype QStringView::count(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は count() をオーバーロードします。

この文字列ビューで、文字列ビューstr の(重複している可能性のある)出現回数を返します。

csQt::CaseSensitive の場合(デフォルト)、検索は大文字小文字を区別します。

この関数は Qt 6.0 で導入されました。

QString::count(),contains(),indexOf()も参照してください

[noexcept] QStringView::const_reverse_iterator QStringView::crbegin() const

rbegin() と同じ。

この関数は STL との互換性のために提供されています。

crend()、rbegin()、cbegin()参照してください。

[noexcept] QStringView::const_reverse_iterator QStringView::crend() const

rend() と同じ。

この関数は STL との互換性のために用意されています。

crbegin()、rend()、cend()も参照

[noexcept] QStringView::const_pointer QStringView::data() const

文字列ビューの最初の文字への const ポインタを返します。

注意: 戻り値で表される文字配列は、ヌル終端ではありません

begin()、end()、utf16()も参照

[constexpr noexcept] bool QStringView::empty() const

この文字列ビューが空かどうか、つまりsize() == 0 かどうかを返します。

この関数は STL との互換性のために提供されています。

isEmpty()、isNull()、size() およびlength()も参照して ください。

[noexcept] QStringView::const_iterator QStringView::end() const

リストの最後の文字の後の虚数文字を指す constSTL 形式のイテレータを返します。

この関数は STL との互換性のために提供されています。

begin()、constEnd()、cend()、rend()も参照

[constexpr] QChar QStringView::first() const

文字列ビューの最初の文字を返す。front() と同じ。

この関数は、他の Qt コンテナとの互換性のために提供されています。

警告 空の文字列ビューでこの関数を呼び出すと、未定義の動作になります。

front()、back()、last()も参照してください

[constexpr noexcept, since 6.0] QStringView QStringView::first(qsizetype n) const

この文字列ビューの最初のn 文字を指す文字列ビューを返します。

注意: n < 0 またはn >size() の場合、動作は未定義です。

この関数は Qt 6.0 で導入されました。

last(),sliced(),startsWith(),chopped(),chop(),truncate(),slice()も参照してください

[static constexpr noexcept] template <typename Char, size_t Size, QStringView::if_compatible_char<Char> = true> QStringView QStringView::fromArray(const Char (&)[Size] string)

末尾のChar(0) を含む、完全な文字列リテラルstring に対して文字列ビューを構築します。ヌル・ターミネータをビューに含めたくない場合は、chop() を使用して、ヌル・ターミネータが末尾にあることを確認します。また、コンストラクタのオーバーロードで配列リテラルを使用することもできます。 このオーバーロードは、データ中の最初のヌル終端を含まないまでのビューを作成します。

string は、この文字列ビューオブジェクトの有効期間中有効でなければなりません。

この関数は、Char が互換性のある文字型であれば、どの配列リテラルでも動作します。互換性のある文字型は以下のとおりです:QChar ushort,char16_t および(Windowsなど16ビット型のプラットフォームでは)wchar_t です。

[constexpr] QChar QStringView::front() const

文字列ビューの最初の文字を返す。first() と同じ。

この関数は STL との互換性のために提供されています。

警告: 空の文字列ビューでこの関数を呼び出すと、未定義の動作になります。

back()、first()、およびlast()も参照してください

[since 6.1] qsizetype QStringView::indexOf(const QRegularExpression &re, qsizetype from = 0, QRegularExpressionMatch *rmatch = nullptr) const

インデックス位置from から前方を検索して、文字列ビュー内で最初にマッチした正規表現re のインデックス位置を返します。re がどこにもマッチしなかった場合は -1 を返す。

マッチが成功し、rmatchnullptr でない場合は、マッチの結果をrmatch が指すQRegularExpressionMatch オブジェクトにも書き込みます。

注意: 正規表現マッチングアルゴリズムの動作により、この関数は実際には文字列ビューの先頭からfrom の位置に達するまで繰り返しマッチングを行います。

この関数は Qt 6.1 で導入されました。

[constexpr noexcept] bool QStringView::isEmpty() const

この文字列ビューが空かどうか、つまりsize() == 0 かどうかを返します。

この関数は、他の Qt コンテナとの互換性のために提供されています。

empty(),isNull(),size(),length()も参照してください

[noexcept, since 6.7] bool QStringView::isLower() const

このビューが小文字の折りたたみと同じであればtrue を返します。

これは、文字列ビューに大文字が含まれていないことを意味するものではないことに注意してください(一部の大文字は小文字の折りたたみを持ちません。toString().toLower() によって変更されません)。詳細については、Unicode 標準の 3.13 節を参照してください。

この関数は Qt 6.7 で導入されました。

QChar::toLower() およびisUpper()も参照してください

[constexpr noexcept] bool QStringView::isNull() const

この文字列ビューが NULL かどうか、つまりdata() == nullptr かどうかを返します。

この関数は、他の Qt コンテナとの互換性のために提供されています。

empty()、isEmpty()、size()、length()も参照して ください。

[noexcept] bool QStringView::isRightToLeft() const

文字列ビューが右から左に読み込まれる場合、true を返します。

QString::isRightToLeft()も参照

[noexcept, since 6.7] bool QStringView::isUpper() const

このビューが大文字の折りたたみと同じ場合はtrue を返す。

これは、文字列ビューに小文字が含まれていないことを意味するものではないことに注意してください(小文字の中には、大文字の折りたたみを持たないものがあります。toString().toUpper() によって変更されないまま残されます)。詳細については、Unicode 標準の 3.13 節を参照してください。

この関数は Qt 6.7 で導入されました。

QChar::toUpper() およびisLower()も参照してください

[noexcept] bool QStringView::isValidUtf16() const

文字列ビューに有効な UTF-16 エンコード・データが含まれている場合はtrue を、そうでない場合はfalse を返します。

この関数はデータの特別な検証を行うわけではなく、単にUTF-16から正常にデコードできるかどうかをチェックするだけであることに注意してください。データはホスト側のバイトオーダーであると仮定される。

QString::isValidUtf16()も参照

[constexpr] QChar QStringView::last() const

文字列ビューの最後の文字を返します。back() と同じ。

この関数は、他の Qt コンテナとの互換性のために用意されています。

警告 空の文字列ビューでこの関数を呼び出すと、未定義の動作になります。

back()、front()、first()も参照してください

[constexpr noexcept, since 6.0] QStringView QStringView::last(qsizetype n) const

この文字列ビューの最後のn 文字を指す文字列ビューを返します。

注意: n < 0 またはn >size() の場合、動作は未定義です。

この関数は Qt 6.0 で導入されました。

first(),sliced(),endsWith(),chopped(),chop(),truncate(),slice()も参照してください

[since 6.2] qsizetype QStringView::lastIndexOf(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const

文字列ビューで、最後にマッチした正規表現re のインデックス位置を返します。re がどこにもマッチしなかった場合は -1 を返す。

マッチが成功し、rmatchnullptr でない場合は、マッチの結果をrmatch が指すQRegularExpressionMatch オブジェクトにも書き込みます。

注意: 正規表現マッチング・アルゴリズムの動作により、この関数は実際には文字列ビューの先頭から文字列ビューの最後に達するまで繰り返しマッチングを行います。

この関数は Qt 6.2 で導入されました。

[since 6.1] qsizetype QStringView::lastIndexOf(const QRegularExpression &re, qsizetype from, QRegularExpressionMatch *rmatch = nullptr) const

文字列ビューで、インデックス位置from よりも前に始まる、正規表現re の最後のマッチのインデックス位置を返します。

from が -1 の場合、検索は最後の文字から始まり、-2 の場合、次の文字から始まります。

re がどこにもマッチしなかった場合は -1 を返す。

マッチが成功し、rmatchnullptr でない場合、マッチの結果をrmatch が指すQRegularExpressionMatch オブジェクトにも書き込みます。

注意 : 正規表現マッチング・アルゴリズムの動作により、この関数は実際には文字列ビューの先頭からfrom の位置に達するまで繰り返しマッチングを行います。

注意 : 0文字にマッチする可能性のある正規表現re を検索する場合、-1 は通常、文字列ビューの最後から検索すると考えられているにもかかわらず、from を否定することで、データの最後にあるマッチは検索から除外されます: 最後のマッチは最後の文字のなので、除外されます。このような最後の空のマッチを含めるには、from に正の値を与えるか、from パラメータを完全に省略します。

この関数は Qt 6.1 で導入されました。

[noexcept, since 6.3] qsizetype QStringView::lastIndexOf(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は lastIndexOf() をオーバーロードします。

この関数は Qt 6.3 で導入されました。

[constexpr noexcept] qsizetype QStringView::length() const

size() と同じです。

この関数は、他の Qt コンテナとの互換性のために提供されています。

empty(),isEmpty(),isNull(),size()も参照してください

[since 6.4] int QStringView::localeAwareCompare(QStringView other) const

この文字列ビューとother 文字列ビューを比較し、この文字列ビューがother 文字列ビューより小さい、等しい、または大きい場合に、ゼロより小さい、等しい、または大きい整数を返します。

比較はロケールやプラットフォームに依存した方法で行われる。この関数は、文字列のソートされたリストをユーザーに表示するために使用します。

この関数は Qt 6.4 で導入されました。

Comparing Stringsも参照して ください。

[static constexpr noexcept, since 6.8] qsizetype QStringView::maxSize()

この関数は、ビューが理論的に表現できる要素の最大数を返します。実際には、システムで利用可能なメモリ量によって制限されるため、もっと少ない数になることがあります。

この関数は Qt 6.8 で導入されました。

[constexpr noexcept, since 6.8] qsizetype QStringView::max_size() const

この関数はSTLとの互換性のために提供されています。

maxSize() を返します。

この関数は Qt 6.8 で導入されました。

[noexcept] QStringView::const_reverse_iterator QStringView::rbegin() const

文字列ビューの最初の文字を逆順で指す constSTL スタイルの逆イテレータを返します。

この関数は STL との互換性のために提供されています。

rend(),crbegin(),begin()も参照してください

[noexcept] QStringView::const_reverse_iterator QStringView::rend() const

STL 形式の逆方向イテレータを、文字列ビューの最後の文字から逆順に 1 つ前の文字を指して返します。

この関数は STL との互換性のために提供されています。

rbegin()、crend()、end()も参照

[constexpr noexcept] qsizetype QStringView::size() const

QStringこの文字列ビューのサイズを、UTF-16 コード単位で返します(つまり、サロゲートペアは、この関数では 2 つとしてカウントされます。)

empty()、isEmpty()、isNull()、length()も参照

[constexpr, since 6.8] QStringView &QStringView::slice(qsizetype pos, qsizetype n)

n この文字列ビューをpos の位置から開始するように変更する。

注意: pos < 0、n < 0、またはpos +n >size() の場合の動作は未定義です。

この関数は Qt 6.8 で導入されました。

sliced(),first(),last(),chopped(),chop(),truncate()も参照してください

[constexpr, since 6.8] QStringView &QStringView::slice(qsizetype pos)

これはオーバーロードされた関数です。

この文字列ビューをpos の位置から開始し、その終端まで拡張するように変更します。

注意: pos < 0 またはpos >size() の場合の動作は未定義です。

この関数は Qt 6.8 で導入されました。

sliced(),first(),last(),chopped(),chop(),truncate()も参照してください

[constexpr noexcept, since 6.0] QStringView QStringView::sliced(qsizetype pos, qsizetype n) const

この文字列ビューのpos の位置から始まるn 文字を指す文字列ビューを返します。

注: pos < 0,n < 0, またはpos +n >size() の場合、動作は未定義です。

この関数は Qt 6.0 で導入されました。

first(),last(),chopped(),chop(),truncate(),slice()も参照してください

[constexpr noexcept, since 6.0] QStringView QStringView::sliced(qsizetype pos) const

これはオーバーロードされた関数です。

このオブジェクトの位置pos を始点とし、その終点までの文字列ビューを返します。

注: pos < 0 またはpos >size() の場合の動作は未定義です。

この関数は Qt 6.0 で導入されました。

first(),last(),chopped(),chop(),truncate(),slice()も参照してください

[since 6.0] QList<QStringView> QStringView::split(const QRegularExpression &re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const

これはオーバーロードされた関数です。

正規表現re にマッチする箇所で文字列を部分文字列ビューに分割し、それらの文字列のリストを返します。re が文字列のどこにもマッチしない場合、 split() はこの文字列をビューとして含む単一要素のリストを返します。

注意: 返されるリスト内のビューは、このビューのサブビューです。そのため、このビューと同じデータを参照し、そのデータが生きている間のみ有効です。

この関数は Qt 6.0 で導入されました。

[since 6.0] CFStringRef QStringView::toCFString() const

このQStringView から CFString を作成します。

呼び出し元は CFString を所有し、それを解放する責任があります。

注意: この関数は macOS と iOS でのみ使用可能です。

この関数は Qt 6.0 で導入されました。

[since 6.0] double QStringView::toDouble(bool *ok = nullptr) const

double 値に変換された文字列ビューを返します。

変換がオーバーフローした場合は無限大を返し、その他の理由(アンダーフローなど)で変換に失敗した場合は0.0を返します。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

文字列変換は常に'C'ロケールで行われる。ロケールに依存する変換には、QLocale::toDouble() を使用する。

歴史的な理由により、この関数は数千のグループ区切り文字を扱わない。そのような数値を変換する必要がある場合は、QLocale::toDouble() を使用してください。

この関数は Qt 6.0 で導入されました。

QString::toDouble()も参照してください

[since 6.0] float QStringView::toFloat(bool *ok = nullptr) const

float 値に変換された文字列ビューを返します。

変換がオーバーフローした場合は無限大を返し、その他の理由(アンダーフローなど)で変換に失敗した場合は0.0を返します。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

文字列変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toFloat() を使用してください。

この関数は Qt 6.0 で導入されました。

QString::toFloat()も参照のこと

[since 6.0] int QStringView::toInt(bool *ok = nullptr, int base = 10) const

ベースbase を使用してint に変換された文字列ビューを返します。ベース はデフォルトで 10 であり、2 から 36 の間でなければなりません。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base 文字列ビューが "0x "で始まる場合、16進数が使用され、そうでない場合、"0 "で始ま る場合、8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toInt() を使用してください。

この関数は Qt 6.0 で導入されました。

QString::toInt()も参照してください

QByteArray QStringView::toLatin1() const

文字列の Latin-1 表現をQByteArray として返します。

文字列に非 Latin1 文字が含まれている場合の動作は未定義です。

toUtf8()、toLocal8Bit()、QStringEncoderも参照して ください。

QByteArray QStringView::toLocal8Bit() const

文字列のローカル8ビット表現をQByteArray として返す。

Unixシステムでは、これはtoUtf8() と等価である。Windowsでは、システムの現在のコード・ページが使用される。

文字列がロケールの8ビットエンコーディングでサポートされていない文字を含んでいる場合の動作は未定義である。

toLatin1()、toUtf8()、QStringEncoderも参照

[since 6.0] long QStringView::toLong(bool *ok = nullptr, int base = 10) const

base を基数としてlong に変換された文字列ビューを返します。 はデフォルトで 10 であり、2 から 36 の間でなければなりません。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base 文字列ビューが "0x "で始まる場合、16進数が使用され、そうでない場合、"0 "で始ま る場合、8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toLong() を使用してください。

この関数は Qt 6.0 で導入されました。

QString::toLong()も参照してください

[since 6.0] qlonglong QStringView::toLongLong(bool *ok = nullptr, int base = 10) const

long long baseデフォルトでは 10 であり、2 から 36 の間でなければなりません。変換に失敗した場合は 0 を返します。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base 文字列ビューが "0x "で始まる場合、16進数が使用され、そうでない場合、"0 "で始ま る場合、8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toLongLong() を使用してください。

この関数は Qt 6.0 で導入されました。

QString::toLongLong()も参照してください

[since 6.0] NSString *QStringView::toNSString() const

このQStringView から NSString を作成します。

NSString は自動的に解放されます。

注意: この関数は macOS と iOS でのみ利用可能です。

この関数は Qt 6.0 で導入されました。

[since 6.0] short QStringView::toShort(bool *ok = nullptr, int base = 10) const

ベースbase を使用してshort に変換された文字列ビューを返します。ベース はデフォルトで 10 で、2 から 36 の間でなければなりません。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base 文字列ビューが "0x "で始まる場合、16進数が使用され、そうでない場合、"0 "で始ま る場合、8進数が使用され、そうでない場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toShort() を使用してください。

この関数は Qt 6.0 で導入されました。

QString::toShort()も参照してください

QString QStringView::toString() const

この文字列ビューのデータのディープコピーをQString として返します。

戻り値は、この文字列ビューが NULL の場合のみ、NULLQString になります。

[since 6.0] uint QStringView::toUInt(bool *ok = nullptr, int base = 10) const

base を基数としてunsigned int に変換した文字列ビューを返します。 はデフォルトで 10 であり、2 から 36 の間でなければなりません。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base 文字列ビューが "0x "で始まる場合、16進数が使用され、"0 "で始まる場合、 8進数が使用され、"0 "で始まる場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toUInt() を使用してください。

この関数は Qt 6.0 で導入されました。

QString::toUInt()も参照してください

[since 6.0] ulong QStringView::toULong(bool *ok = nullptr, int base = 10) const

unsigned long baseデフォルトでは 10 であり、2 から 36 の間でなければなりません。変換に失敗した場合は 0 を返します。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base 文字列ビューが "0x "で始まる場合、16進数が使用され、"0 "で始まる場合、 8進数が使用され、"0 "で始まる場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toULongLong() を使用してください。

この関数は Qt 6.0 で導入されました。

QString::toULong()も参照してください

[since 6.0] qulonglong QStringView::toULongLong(bool *ok = nullptr, int base = 10) const

unsigned long long baseデフォルトでは 10 であり、2 から 36 の間でなければなりません。変換に失敗した場合は 0 を返します。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base 文字列ビューが "0x "で始まる場合、16進数が使用され、"0 "で始まる場合、 8進数が使用され、"0 "で始まる場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toULongLong() を使用してください。

この関数は Qt 6.0 で導入されました。

QString::toULongLong()も参照してください

[since 6.0] ushort QStringView::toUShort(bool *ok = nullptr, int base = 10) const

unsigned short baseデフォルトでは 10 であり、2 から 36 の間でなければなりません。変換に失敗した場合は 0 を返します。

oknullptr でない場合、失敗は *okfalse に設定することで報告され、成功は *oktrue に設定することで報告される。

base 文字列ビューが "0x "で始まる場合、16進数が使用され、"0 "で始まる場合、 8進数が使用され、"0 "で始まる場合、10進数が使用される。

文字列の変換は常に'C'ロケールで行われる。ロケールに依存した変換にはQLocale::toUShort() を使用してください。

この関数は Qt 6.0 で導入されました。

QString::toUShort()も参照してください

QList<uint> QStringView::toUcs4() const

文字列ビューの UCS-4/UTF-32 表現をQList<uint> として返します。

UCS-4はUnicodeコーデックなので、ロスレスです。この文字列ビューの文字はすべてUCS-4でエンコードされます。この文字列ビュー内の無効なコードユニット列は、Unicode 置換文字 (U+FFFD に対応するQChar::ReplacementCharacter) で置き換えられます。

返されるリストは0終端ではありません。

toUtf8()、toLatin1()、toLocal8Bit()、QStringEncoderも参照

QByteArray QStringView::toUtf8() const

文字列ビューの UTF-8 表現をQByteArray として返します。

UTF-8 は Unicode コーデックで、QString のように Unicode 文字列のすべての文字を表現できます。

toLatin1()、toLocal8Bit()、QStringEncoderも参照してください

qsizetype QStringView::toWCharArray(wchar_t *array) const

この文字列ビューを、与えられたarray に転記します。

呼び出し元は、array がこの文字列ビューのwchar_t エンコードを保持するのに十分な大きさであることを保証する責任があります(文字列ビューと同じ長さの配列を確保すれば常に十分です)。配列は、wchar_t が2バイト幅のプラットフォーム(Windowsなど)ではUTF-16でエンコードされる。そうでない場合(Unixシステム)、wchar_t は4バイト幅と仮定され、データはUCS-4で書き込まれる。

注意: この関数は、array の末尾にヌル・ターミネータを書き込まない。

array に書き込まれたwchar_t エントリの数を返す。

QString::toWCharArray()も参照のこと

[noexcept] QStringView QStringView::trimmed() const

先頭および末尾の空白を除去し、その結果を返す。

空白文字とは、QChar::isSpace() がtrue を返すすべての文字を意味する。これには、ASCII 文字 ' \t'、'˶n'、'˶v'、'˶f'、'˶r'、および ' が含まれます。

[constexpr noexcept] void QStringView::truncate(qsizetype length)

この文字列ビューを長さlength に切り詰めます。

*this = left(length) と同じです。

注意: length < 0 またはlength >size() の場合の動作は未定義です。

mid()、left()、right()、chopped()、chop()も参照のこと

[constexpr noexcept] const QStringView::storage_type *QStringView::utf16() const

文字列ビューの最初の文字への const ポインタを返します。

注意: 返り値で表される文字配列は、ヌル終端ではありません

storage_type は である。char16_t

begin()、end()、data()も参照

[noexcept, since 6.7] std::u16string_view QStringView::operator std::u16string_view() const

このQStringView オブジェクトをstd::u16string_view オブジェクトに変換します。返されるビューは、このビューと同じデータポインタと長さを持ちます。

この関数は Qt 6.7 で導入されました。

[constexpr] QChar QStringView::operator[](qsizetype n) const

この文字列ビューの位置n にある文字を返します。

n が負またはsize() より小さくない場合、動作は未定義です。

at(),front(),back()も参照してください

関連する非メンバー

[noexcept] bool operator!=(const QStringView &lhs, const QStringView &rhs)

[noexcept] bool operator<(const QStringView &lhs, const QStringView &rhs)

[noexcept] bool operator<=(const QStringView &lhs, const QStringView &rhs)

[noexcept] bool operator==(const QStringView &lhs, const QStringView &rhs)

[noexcept] bool operator>(const QStringView &lhs, const QStringView &rhs)

[noexcept] bool operator>=(const QStringView &lhs, const QStringView &rhs)

lhsrhs を比較する演算子。

compare()も参照

[noexcept] size_t qHash(QStringView key, size_t seed = 0)

key のハッシュ値を返します。計算のシードとしてseed を使用します。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。