QString Class

QString 클래스는 유니코드 문자 문자열을 제공합니다. 더 보기...

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

이 클래스는 매우 유사합니다.

이 클래스는 QChar, QLatin1StringView, const char16_t *, QStringView, QUtf8StringView매우 유사합니다.

이 클래스는 QByteArray, QByteArrayView, const char * 와 매우 유사합니다.

바이트 배열과 비교할 때, 그 내용은 utf-8로 해석됩니다.

참고: 이 클래스의 모든 함수는 재인용됩니다.

공용 유형

ConstIterator
Iterator
enum NormalizationForm { NormalizationForm_D, NormalizationForm_C, NormalizationForm_KD, NormalizationForm_KC }
enum SectionFlag { SectionDefault, SectionSkipEmpty, SectionIncludeLeadingSep, SectionIncludeTrailingSep, SectionCaseInsensitiveSeps }
flags SectionFlags
const_iterator
const_pointer
const_reference
const_reverse_iterator
difference_type
iterator
pointer
reference
reverse_iterator
size_type
value_type

공용 함수

QString()
QString(QChar ch)
QString(QLatin1StringView str)
QString(const QByteArray &ba)
QString(const char *str)
(since 6.1) QString(const char8_t *str)
QString(const QChar *유니코드, qsizetype size = -1)
QString(qsizetype size, QChar ch)
QString(const QString &다른)
QString(QString &&기타)
~QString()
QString &append(const QString &str)
QString &append(QChar ch)
QString &append(QLatin1StringView str)
(since 6.0) QString &append(QStringView v)
(since 6.5) QString &append(QUtf8StringView str)
QString &append(const QByteArray &ba)
QString &append(const char *str)
QString &append(const QChar *str, qsizetype len)
QString arg(Args &&... args) const
QString arg(const QString&a, int fieldWidth = 0, QChar fillChar = u' ') const
QString arg(QChar a, int fieldWidth = 0, QChar fillChar = u' ') const
QString arg(QLatin1StringView a, int fieldWidth = 0, QChar fillChar = u' ') const
QString arg(QStringView a, int fieldWidth = 0, QChar fillChar = u' ') const
QString arg(char a, int fieldWidth = 0, QChar fillChar = u' ') const
QString arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
QString arg(long a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
QString arg(qlong a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
QString arg(qulonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
QString arg(short a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
QString arg(uint a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
QString arg(ulong a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
QString arg(ushort a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
QString arg(double a, int fieldWidth = 0, char format = 'g', int precision = -1, QChar fillChar = u' ') const
(since 6.6) QString &assign(QAnyStringView v)
(since 6.6) QString &assign(입력 이터레이터 첫 번째, 입력 이터레이터 마지막)
(since 6.6) QString &assign(qsizetype n, QChar c)
const QChar at(qsizetype 위치) const
QChar &back()
QChar back() const
QString::이터레이터 begin()
QString::const_iterator begin() const
qsizetype capacity() const
QString::const_iterator cbegin() const
QString::const_iterator cend() const
void chop(qsizetype n)
QString chopped(qsizetype len) &&
QString chopped(qsizetype len) const && &QString
void clear()
int compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(QLatin1StringView other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QString::const_iterator constBegin() const
const QChar *constData() const
QString::const_iterator constEnd() const
bool contains(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
bool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype count(const QRegularExpression &re) const
qsizetype count(QChar ch, Qt::대소문자 구분 cs = Qt::CaseSensitive) const
(since 6.0) qsizetype count(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QString::const_reverse_iterator crbegin() const
QString::const_reverse_iterator crend() const
QChar *data()
const QChar *data() const
QString::이터레이터 end()
QString::const_iterator end() const
bool endsWith(const QString &s, Qt::대소문자 구분 cs = Qt::CaseSensitive) const
bool endsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.1) QString::이터레이터 erase(QString::const_iterator 첫 번째, QString::const_iterator 마지막)
(since 6.5) QString::이터레이터 erase(QString::const_iterator it)
QString &fill(QChar ch, qsizetype size = -1)
(since 6.0) QString first(qsizetype n) &&
(since 6.0) QString first(qsizetype n) const &&
QChar &front()
QChar front() const
qsizetype indexOf(QLatin1StringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype indexOf(const QRegularExpression &re, qsizetype from = 0, QRegularExpressionMatch *rmatch = nullptr) const
qsizetype indexOf(const QString &str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype indexOf(const QChar ch, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QString &insert(qsizetype 위치, const QString &str)
QString &insert(qsizetype 위치, QChar ch)
QString &insert(qsizetype 위치, QLatin1StringView str)
(since 6.0) QString &insert(qsizetype 위치, QStringView str)
(since 6.5) QString &insert(qsizetype 위치, QUtf8StringView str)
QString &insert(qsizetype 위치, const QByteArray &str)
QString &insert(qsizetype position, const char *str)
QString &insert(qsizetype 위치, const QChar *unicode, qsizetype size)
bool isEmpty() const
bool isLower() const
bool isNull() const
bool isRightToLeft() const
bool isUpper() const
bool isValidUtf16() const
(since 6.0) QString last(qsizetype n) &&
(since 6.0) QString last(qsizetype n) const && &QString
qsizetype lastIndexOf(const QRegularExpression &re, qsizetype from, QRegularExpressionMatch *rmatch = nullptr) const
qsizetype lastIndexOf(const QString &str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.3) qsizetype lastIndexOf(QChar ch, Qt::대소문자 구분 cs = Qt::CaseSensitive) const
(since 6.2) qsizetype lastIndexOf(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.2) qsizetype lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.2) qsizetype lastIndexOf(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
(since 6.2) qsizetype lastIndexOf(const QString &str, Qt::대소문자 구분 cs = Qt::CaseSensitive) const
qsizetype lastIndexOf(QChar ch, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype lastIndexOf(QLatin1StringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
qsizetype lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QString left(qsizetype n) &&
QString left(qsizetype n) const &&
QString leftJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const
qsizetype length() const
(since 6.0) int localeAwareCompare(QStringView other) const
int localeAwareCompare(const QString &다른) const
(since 6.8) qsizetype max_size() const
QString mid(qsizetype 위치, qsizetype n = -1) &&
QString mid(qsizetype 위치, qsizetype n = -1) const && QString
QString normalized(QString::정규화폼 모드, QChar::유니코드 버전 버전 = QChar::유니코드_할당되지 않음) const
QString &prepend(const QString &str)
QString &prepend(QChar ch)
QString &prepend(QLatin1StringView str)
(since 6.0) QString &prepend(QStringView str)
(since 6.5) QString &prepend(QUtf8StringView str)
QString &prepend(const QByteArray &ba)
QString &prepend(const char *str)
QString &prepend(const QChar *str, qsizetype len)
void push_back(const QString &다른)
void push_back(QChar ch)
void push_front(const QString &other)
void push_front(QChar ch)
QString::reverse_iterator rbegin()
QString::const_reverse_iterator rbegin() const
QString &remove(const QRegularExpression &re)
QString &remove(QChar ch, Qt::대소문자 구분 cs = Qt::대소문자 구분)
QString &remove(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive)
QString &remove(qsizetype 위치, qsizetype n)
QString &remove(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::대소문자 구분)
(since 6.5) QString &removeAt(qsizetype pos)
(since 6.5) QString &removeFirst()
(since 6.1) QString &removeIf(술어 pred)
(since 6.5) QString & (removeLast()
QString::역_이터레이터 rend()
QString::const_reverse_iterator rend() const
QString repeated(qsizetype times) const
QString &replace(qsizetype 위치, qsizetype n, const QString &after)
QString &replace(const QRegularExpression &re, const QString &after)
QString &replace(QChar 이전, QChar 이후, Qt::대소문자 구분 cs = Qt::대소문자 구분)
QString &replace(QChar c, QLatin1StringView , Qt::대소문자 구분 cs = Qt::대소문자 구분)
QString &replace(QChar ch, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
QString &replace(QLatin1StringView , QLatin1StringView , Qt::대소문자 구분 cs = Qt::CaseSensitive)
QString &replace(QLatin1StringView , const QString &후, Qt::대소문자 구분 cs = Qt::CaseSensitive)
QString &replace(const QString &before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
QString &replace(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
QString &replace(qsizetype position, qsizetype n, QChar after)
QString &replace(qsizetype position, qsizetype n, const QChar *after, qsizetype alen)
QString &replace(const QChar *before, qsizetype blen, const QChar *after, qsizetype alen, Qt::CaseSensitivity cs = Qt::CaseSensitive)
void reserve(qsizetype size)
void resize(qsizetype size)
void resize(qsizetype newSize, QChar fillChar)
(since 6.8) void resizeForOverwrite(qsizetype size)
QString right(qsizetype n) &&
QString right(qsizetype n) const && &QString
QString rightJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const
QString section(QChar sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const
QString section(const QRegularExpression &re, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const
QString section(const QString &sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const
QString &setNum(int n, int base = 10)
QString &setNum(long n, int base = 10)
QString &setNum(qlonglong n, int base = 10)
QString &setNum(qlonglong n, int base = 10)
QString &setNum(짧은 n, int base = 10)
QString &setNum(uint n, int base = 10)
QString &setNum(울롱 n, int base = 10)
QString &setNum(ushort n, int base = 10)
QString &setNum(double n, char 형식 = 'g', int 정밀도 = 6)
QString &setNum(float n, char 형식 = 'g', int 정밀도 = 6)
QString &setRawData(const QChar *유니코드, qsizetype size)
QString &setUnicode(const QChar *유니코드, qsizetype size)
QString &setUtf16(const ushort *유니코드, qsizetype size)
void shrink_to_fit()
QString simplified() const
qsizetype size() const
(since 6.8) QString &slice(qsizetype pos, qsizetype n)
(since 6.8) QString &slice(qsizetype pos)
(since 6.0) QString sliced(qsizetype pos, qsizetype n) &&
(since 6.0) QString sliced(qsizetype pos, qsizetype n) const &&
(since 6.0) QString sliced(qsizetype pos) &&
(since 6.0) QString sliced(qsizetype pos) const && QString
QStringList split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QStringList split(const QRegularExpression &re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const
QStringList split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
void squeeze()
bool startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
void swap(QString &other)
CFStringRef toCFString() const
QString toCaseFolded() const
double toDouble(bool *ok = nullptr) const
(since 6.6) 엠스크립트::밸 toEcmaString() const
float toFloat(bool *ok = nullptr) const
QString toHtmlEscaped() const
int toInt(bool *ok = nullptr, int base = 10) const
QByteArray toLatin1() const
QByteArray toLocal8Bit() const
long toLong(bool *ok = nullptr, int base = 10) const
qlonglong toLongLong(bool *ok = nullptr, int base = 10) const
QString toLower() const
NSString *toNSString() const
short toShort(bool *ok = nullptr, int base = 10) const
std::string toStdString() const
std::u16string toStdU16String() const
std::u32string toStdU32String() const
std::wstring toStdWString() const
uint toUInt(bool *ok = nullptr, int base = 10) const
ulong toULong(bool *ok = nullptr, int base = 10) const
qulonglong toULongLong(bool *ok = nullptr, int base = 10) const
ushort toUShort(bool *ok = nullptr, int base = 10) const
QList<uint> toUcs4() const
QString toUpper() const
QByteArray toUtf8() const
qsizetype toWCharArray(wchar_t *array) const
(since 6.0) auto tokenize(니들 &&sep, 플래그... 플래그) &&
(since 6.0) auto tokenize(바늘 &&sep, Flags... flags) const &&
(since 6.0) auto tokenize(바늘 &&세프, Flags... 플래그) const &&
QString trimmed() const
void truncate(qsizetype position)
const QChar *unicode() const
const ushort *utf16() const
(since 6.7) std::u16string_view operator std::u16string_view() const
QString &operator+=(const QString &다른)
QString &operator+=(QChar ch)
QString &operator+=(QLatin1StringView str)
(since 6.0) QString &operator+=(QStringView str)
(since 6.5) QString &operator+=(QUtf8StringView str)
QString &operator+=(const QByteArray &ba)
QString &operator+=(const char *str)
QString &operator=(QString &&기타)
QString &operator=(const QString &다른)
QString &operator=(QChar ch)
QString &operator=(QLatin1StringView str)
QString &operator=(const QByteArray &ba)
QString &operator=(const char *str)
QChar &operator[](qsizetype 위치)
const QChar operator[](qsizetype 위치) const

정적 공용 멤버

QString asprintf(const char *cformat, ...)
int compare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
int compare(QLatin1StringView s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
int compare(QStringView s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
int compare(const QString &s1, QLatin1StringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
int compare(const QString &s1, QStringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
QString fromCFString(CFStringRef 문자열)
(since 6.6) QString fromEcmaString(엠스크립트::val jsString)
QString fromLatin1(const char *str, qsizetype size)
(since 6.0) QString fromLatin1(QByteArrayView str)
QString fromLatin1(const QByteArray &str)
QString fromLocal8Bit(const char *str, qsizetype size)
(since 6.0) QString fromLocal8Bit(QByteArrayView str)
QString fromLocal8Bit(const QByteArray &str)
QString fromNSString(const NSString *string)
QString fromRawData(const QChar *유니코드, qsizetype size)
QString fromStdString(const std::string &str)
QString fromStdU16String(const std::u16string &str)
QString fromStdU32String(const std::u32string &str)
QString fromStdWString(const std::wstring &str)
QString fromUcs4(const char32_t *유니코드, qsizetype size = -1)
QString fromUtf8(const char *str, qsizetype size)
(since 6.0) QString fromUtf8(QByteArrayView str)
QString fromUtf8(const QByteArray &str)
(since 6.1) QString fromUtf8(const char8_t *str)
(since 6.0) QString fromUtf8(const char8_t *str, qsizetype size)
QString fromUtf16(const char16_t *유니코드, qsizetype size = -1)
QString fromWCharArray(const wchar_t *string, qsizetype size = -1)
int localeAwareCompare(const QString &s1, const QString &s2)
(since 6.0) int localeAwareCompare(QStringView s1, QStringView s2)
(since 6.8) qsizetype maxSize()
QString number(long n, int base = 10)
QString number(double n, char 형식 = 'g', int 정밀도 = 6)
QString number(int n, int base = 10)
QString number(qlonglong n, int base = 10)
QString number(큐롱롱 n, int base = 10)
QString number(uint n, int base = 10)
QString number(울롱 n, int base = 10)
QString vasprintf(const char *cformat, va_list ap)
(since 6.1) qsizetype erase(QString &s, const T &t)
(since 6.1) qsizetype erase_if(QString &s, Predicate pred)
bool operator!=(const QByteArray &lhs, const QString &rhs)
bool operator!=(const QString &lhs, const QString &rhs)
bool operator!=(const char *const &lhs, const QString &rhs)
bool operator!=(const QString &lhs, const QByteArray &rhs)
bool operator!=(const QString &lhs, const QLatin1StringView &rhs)
bool operator!=(const QString &lhs, const char *const &rhs)
(since 6.4) QString operator""_s(const char16_t *str, size_t size)
QString operator+(QString &&s1, const QString &s2)
QString operator+(const QString &s1, const QString &s2)
QString operator+(const QString &s1, const char *s2)
QString operator+(const char *s1, const QString &s2)
bool operator<(const QByteArray &lhs, const QString &rhs)
bool operator<(const char *const &lhs, const QString &rhs)
bool operator<(const QLatin1StringView &lhs, const QString &rhs)
bool operator<(const QString &lhs, const QByteArray &rhs)
bool operator<(const QString &lhs, const QLatin1StringView &rhs)
bool operator<(const QString &lhs, const QString &rhs)
bool operator<(const QString &lhs, const char *const &rhs)
QDataStream &operator<<(QDataStream &stream, const QString &string)
bool operator<=(const QByteArray &lhs, const QString &rhs)
bool operator<=(const QString &lhs, const QString &rhs)
bool operator<=(const char *const &lhs, const QString &rhs)
bool operator<=(const QLatin1StringView &lhs, const QString &rhs)
bool operator<=(const QString &lhs, const QByteArray &rhs)
bool operator<=(const QString &lhs, const QLatin1StringView &rhs)
bool operator<=(const QString &lhs, const char *const &rhs)
bool operator==(const QByteArray &lhs, const QString &rhs)
bool operator==(const QLatin1StringView &lhs, const QString &rhs)
bool operator==(const QString &lhs, const QByteArray &rhs)
bool operator==(const QString &lhs, const QLatin1StringView &rhs)
bool operator==(const QString &lhs, const QString &rhs)
bool operator==(const QString &lhs, const char *const &rhs)
bool operator==(const char *const &lhs, const QString &rhs)
bool operator>(const QByteArray &lhs, const QString &rhs)
bool operator>(const QString &lhs, const QString &rhs)
bool operator>(const char *const &lhs, const QString &rhs)
bool operator>(const QLatin1StringView &lhs, const QString &rhs)
bool operator>(const QString &lhs, const QByteArray &rhs)
bool operator>(const QString &lhs, const QLatin1StringView &rhs)
bool operator>(const QString &lhs, const char *const &rhs)
bool operator>=(const QByteArray &lhs, const QString &rhs)
bool operator>=(const QString &lhs, const QString &rhs)
bool operator>=(const char *const &lhs, const QString &rhs)
bool operator>=(const QLatin1StringView &lhs, const QString &rhs)
bool operator>=(const QString &lhs, const QByteArray &rhs)
bool operator>=(const QString &lhs, const QLatin1StringView &rhs)
bool operator>=(const QString &lhs, const char *const &rhs)
QDataStream &operator>>(QDataStream &stream, QString &string)

매크로

QStringLiteral(str)
QT_NO_CAST_FROM_ASCII
QT_NO_CAST_TO_ASCII
QT_RESTRICTED_CAST_FROM_ASCII
const char *qPrintable(const QString &str)
const wchar_t *qUtf16Printable(const QString &str)
const char *qUtf8Printable(const QString &str)

자세한 설명

QString은 16비트 QChar문자열을 저장하며, 여기서 각 QChar 은 하나의 UTF-16 코드 단위에 해당합니다. (코드 값이 65535 이상인 유니코드 문자는 대리 쌍, 즉 두 개의 연속된 QChar초를 사용하여 저장됩니다.)

유니코드는 오늘날 사용되는 대부분의 문자 체계를 지원하는 국제 표준입니다. 유니코드는 US-ASCII(ANSI X3.4-1986)와 Latin-1(ISO 8859-1)의 상위 집합이며, 모든 US-ASCII/Latin-1 문자는 동일한 코드 위치에서 사용할 수 있습니다.

이면에서 QString은 메모리 사용량을 줄이고 불필요한 데이터 복사를 피하기 위해 암시적 공유 (복사 시 쓰기)를 사용합니다. 이는 또한 8비트 문자 대신 16비트 문자를 저장할 때 발생하는 고유한 오버헤드를 줄이는 데 도움이 됩니다.

Qt는 QString 외에도 원시 바이트와 기존 8비트 '\0'으로 끝나는 문자열을 저장하는 QByteArray 클래스도 제공합니다. 대부분의 경우 QString 클래스를 사용하는 것이 좋습니다. 이 클래스는 Qt API 전체에서 사용되며, 유니코드 지원을 통해 애플리케이션의 시장을 확장하려는 경우 애플리케이션을 쉽게 번역할 수 있습니다. QByteArray 이 적합한 두 가지 대표적인 경우는 원시 바이너리 데이터를 저장해야 할 때와 메모리 절약이 중요한 경우(임베디드 시스템 등)입니다.

문자열 초기화

QString을 초기화하는 한 가지 방법은 생성자에 const char * 을 전달하는 것입니다. 예를 들어, 다음 코드는 "Hello" 데이터를 포함하는 크기 5의 QString을 만듭니다:

QString str = "Hello";

QString은 fromUtf8() 함수를 사용하여 const char * 데이터를 유니코드로 변환합니다.

const char * 매개 변수를 받는 모든 QString 함수에서 const char * 은 전형적인 C 스타일 '\\0'-종결 문자열로 해석됩니다. 함수 이름이 다른 인코딩을 명백하게 나타내는 경우를 제외하고 이러한 const char * 매개 변수는 UTF-8로 인코딩된 것으로 간주됩니다.

문자열 데이터를 QChars의 배열로 제공할 수도 있습니다:

static const QChar data[4] = { 0x0055, 0x006e, 0x10e3, 0x03a3 };
QString str(data, 4);

QString은 QChar 데이터의 심층 복사본을 만들므로 나중에 부작용 없이 수정할 수 있습니다. 대신 QStringView 또는 QString::fromRawData()를 사용하면 문자 데이터의 딥 카피를 만들지 않아도 됩니다.

또 다른 방법은 resize()를 사용하여 문자열의 크기를 설정하고 문자별로 데이터 문자를 초기화하는 것입니다. QString은 C++ 배열과 마찬가지로 0 기반 인덱스를 사용합니다. 특정 인덱스 위치의 문자에 액세스하려면 operator[]()를 사용할 수 있습니다. const 문자열이 아닌 경우 operator[]()은 할당의 왼쪽에 사용할 수 있는 문자에 대한 참조를 반환합니다. 예를 들어

QString str;
str.resize(4);

str[0] = QChar('U');
str[1] = QChar('n');
str[2] = QChar(0x10e3);
str[3] = QChar(0x03a3);

읽기 전용 액세스의 경우 대체 구문은 at() 함수를 사용하는 것입니다:

QString str;for (qsizetype i = 0; i < str.size(); ++i) { if (str.at(i) >=. QChar('a') && str.at(i) <= QChar('f'))        qDebug() << "Found character in range [a-f]";
}

at() 함수는 딥 카피가 발생하지 않으므로 operator[]() 함수보다 빠를 수 있습니다. 또는 first(), last() 또는 sliced() 함수를 사용하여 한 번에 여러 문자를 추출할 수 있습니다.

QString은 '\0' 문자(QChar::Null)를 포함할 수 있습니다. size () 함수는 항상 포함된 '\0' 문자를 포함하여 전체 문자열의 크기를 반환합니다.

resize() 함수를 호출한 후 새로 할당된 문자는 정의되지 않은 값을 갖습니다. 문자열의 모든 문자를 특정 값으로 설정하려면 fill() 함수를 사용합니다.

QString은 문자열 사용을 단순화하도록 설계된 수십 가지 오버로드를 제공합니다. 예를 들어 QString을 문자열 리터럴과 비교하려는 경우 다음과 같이 코드를 작성하면 예상대로 작동합니다:

QString str;

if (str == "auto" || str == "extern"
        || str == "static" || str == "register") {
    // ...
}

또한 QString을 인수로 받는 함수에 문자열 리터럴을 전달하여 QString(const char *) 생성자를 호출할 수도 있습니다. 마찬가지로 qPrintable() 매크로를 사용하여 const char * 인수를 받는 함수에 QString을 전달할 수 있으며, 이 함수는 주어진 QString을 const char * 로 반환합니다. 이는 <QString>을 호출하는 것과 동일합니다.toLocal8Bit().constData().

문자열 데이터 조작하기

QString은 문자 데이터를 수정하기 위해 append(), prepend(), insert(), replace() 및 remove()와 같은 기본 함수를 제공합니다. 예를 들어

QString str = "and";
str.prepend("rock ");     // str == "rock and"
str.append(" roll");        // str == "rock and roll"
str.replace(5, 3, "&");   // str == "rock & roll"

위의 예에서 replace() 함수의 처음 두 인수는 대체를 시작할 위치와 대체할 문자 수입니다.

데이터 수정 함수로 인해 문자열의 크기가 커지면 QString은 데이터를 저장하는 메모리를 재할당할 수 있습니다. 이 경우 QString은 문자열의 크기가 크게 증가할 때까지 재할당 없이 추가 확장을 위한 공간을 확보하기 위해 즉시 필요한 것보다 더 많이 확장합니다.

insert(), remove() 및 하위 문자열을 다른 크기의 문자열로 바꿀 때 replace() 함수는 문자열의 많은 문자를 메모리에서 최소 한 위치 이상 이동해야 하므로 큰 문자열의 경우 속도가 느려질 수 있습니다(선형 시간).

QString을 점진적으로 작성하고 QString에 포함될 문자 수를 미리 알고 있는 경우 reserve()를 호출하여 QString에 일정량의 메모리를 미리 할당하도록 요청할 수 있습니다. capacity ()를 호출하여 QString이 실제로 할당된 메모리의 양을 확인할 수도 있습니다.

QString은 STL 스타일 이터레이터 (QString::const_iteratorQString::iterator)를 제공합니다. 실제로 이터레이터는 C++ 표준 라이브러리에서 제공하는 일반 알고리즘으로 작업할 때 유용합니다.

참고: QString에 대한 이터레이터 및 이터레이터 내의 개별 문자에 대한 참조는 QString의const 메서드가 아닌 메서드가 호출될 때 유효하게 유지된다고 신뢰할 수 없습니다. const 메서드가 아닌 메서드를 호출한 후 이러한 이터레이터 또는 참조에 액세스하면 정의되지 않은 동작이 발생합니다. 이터레이터와 유사한 기능에 대한 안정성이 필요한 경우 이터레이터 대신 인덱스를 사용해야 하는데, 인덱스는 QString의 내부 상태에 묶여 있지 않으므로 무효화되지 않습니다.

참고: 암시적 공유로 인해 주어진 QString에서const 연산자나 함수를 처음 사용하면 내부적으로 해당 데이터의 딥 카피가 수행될 수 있습니다. 그러면 문자열에 대한 모든 이터레이터와 문자열 내의 개별 문자에 대한 참조가 무효화됩니다. 이터레이터를 유지하면서 생성되지 않은 함수를 호출하지 마세요. 무효화된 후 반복자나 참조에 액세스하면 정의되지 않은 동작이 발생합니다. 자세한 내용은 암시적 공유 반복자 문제 섹션을 참조하세요.

문자열에서 보이는 문자 사이의 간격을 제거하거나 단순화해야 하는 경우가 종종 있습니다. 이러한 간격을 구성하는 문자는 단순 공백 ' ', 가로 탭 '\\t' 및 줄 바꿈 '\\n' 과 같이 isSpace()가 true 을 반환하는 문자입니다. 시작과 끝에서 공백을 제외한 문자열의 복사본을 얻으려면 trimmed()를 사용합니다. 또한 문자열 내의 각 공백 문자 시퀀스를 단순 공백으로 바꾸려면 ' ', simplified()을 사용합니다.

특정 문자 또는 하위 문자열의 모든 항목을 찾으려면 indexOf() 또는 lastIndexOf() 함수를 사용하며, 전자는 앞으로 검색하고 후자는 뒤로 검색합니다. 두 함수 모두 검색을 시작할 인덱스 위치를 알려줄 수 있습니다. 각각은 문자 또는 하위 문자열을 찾으면 해당 문자 또는 하위 문자열의 인덱스 위치를 반환하고, 찾지 못하면 -1을 반환합니다. 예를 들어, 다음은 특정 부분 문자열의 모든 항목을 찾는 일반적인 루프입니다:

QString str = "우리는 <b>볼드체, 매우 <b>볼드체</b>여야 합니다."; qsizetype j = 0;while ((j = str.indexOf("<b>", j)) !=-1) {    qDebug() << "Found <b> tag at index position" << j;
   ++j; }

QString은 숫자를 문자열로, 문자열을 숫자로 변환하는 많은 함수를 제공합니다. arg () 함수, setNum() 함수, number() 정적 함수, toInt(), toDouble() 및 이와 유사한 함수를 참조하세요.

문자열의 대문자 또는 소문자 버전을 가져오려면 toUpper() 또는 toLower()를 사용합니다.

문자열 목록은 QStringList 클래스가 처리합니다. split () 함수를 사용하여 문자열을 문자열 목록으로 분할하고 QStringList::join() 함수를 사용하여 선택적 구분 기호를 사용하여 문자열 목록을 단일 문자열로 결합할 수 있습니다. 문자열 목록에서 특정 하위 문자열을 포함하거나 특정 QRegularExpression 과 일치하는 항목을 선택하여 필터링된 목록을 얻을 수 있습니다. 자세한 내용은 QStringList::filter()를 참조하세요.

문자열 데이터 쿼리하기

QString이 특정 하위 문자열로 시작하거나 끝나는지 확인하려면 startsWith() 또는 endsWith()을 사용합니다. 특정 문자나 하위 문자열이 QString에 포함되어 있는지 확인하려면 contains() 함수를 사용합니다. 문자열에서 특정 문자 또는 하위 문자열이 몇 번 나오는지 확인하려면 count()를 사용합니다.

실제 문자 데이터에 대한 포인터를 얻으려면 data() 또는 constData()를 호출합니다. 이러한 함수는 QChar 데이터의 시작 부분에 대한 포인터를 반환합니다. 이 포인터는 QString에서const 함수가 아닌 함수가 호출될 때까지 유효하게 유지됩니다.

문자열 비교

operator<(), operator<=(), operator==(), operator>=() 등과 같은 오버로드된 연산자를 사용하여 QString을 비교할 수 있습니다. 비교는 UTF-16 코드 단위의 시퀀스로 간주되는 두 문자열의 사전적 순서만을 기준으로 합니다. 이는 매우 빠르지만 사람이 기대하는 것과는 다릅니다. 이러한 비교가 가능한 경우 일반적으로 QString::localeAwareCompare() 함수가 사용자 인터페이스 문자열을 정렬하는 데 더 나은 선택입니다.

Qt가 ICU 라이브러리와 연결되어 있는 경우(일반적으로 그렇죠), 로케일 인식 정렬이 사용됩니다. 그렇지 않으면 플랫폼별 솔루션이 사용됩니다:

  • Windows의 경우 localeAwareCompare()는 regionallanguage 의 옵션 부분에 설정된 대로 현재 사용자 로캘을 사용합니다( Control Panel.
  • macOS 및 iOS에서는 localeAwareCompare()가 International preferences 패널의 Order for sorted lists 설정에 따라 비교합니다.
  • 다른 유닉스 계열 시스템에서는 시스템 라이브러리의 strcoll() 로 다시 비교합니다.

인코딩된 문자열 데이터와 QString 간 변환하기

QString은 const char * 버전의 문자열을 QByteArray 로 반환하는 다음 함수를 제공합니다: toUtf8(), toLatin1() 및 toLocal8Bit().

  • toLatin1()는 라틴-1(ISO 8859-1)로 인코딩된 8비트 문자열을 반환합니다.
  • toUtf8()는 UTF-8로 인코딩된 8비트 문자열을 반환합니다. UTF-8은 멀티바이트 시퀀스를 통해 전체 유니코드 문자 집합을 지원하는 US-ASCII(ANSI X3.4-1986)의 상위 집합입니다.
  • toLocal8Bit()는 시스템의 로컬 인코딩을 사용하여 8비트 문자열을 반환합니다. 이는 Unix 시스템의 toUtf8()와 동일합니다.

이러한 인코딩 중 하나에서 변환하기 위해 QString은 fromLatin1(), fromUtf8() 및 fromLocal8Bit()를 제공합니다. 다른 인코딩은 QStringEncoderQStringDecoder 클래스를 통해 지원됩니다.

위에서 언급했듯이 QString은 const char * 문자열과 쉽게 상호 운용할 수 있는 많은 함수와 연산자를 제공합니다. 그러나 이 기능은 양날의 검과 같습니다. 모든 문자열이 US-ASCII 또는 Latin-1인 경우 QString을 더 편리하게 사용할 수 있지만 잘못된 8비트 인코딩을 사용하여 const char * 에서 또는 로의 암시적 변환이 수행될 위험이 항상 존재합니다. 이러한 위험을 최소화하려면 다음 전처리기호 중 일부를 정의하여 이러한 암시적 변환을 해제할 수 있습니다:

  • QT_NO_CAST_FROM_ASCII C 문자열 리터럴 및 포인터에서 유니코드로의 자동 변환을 비활성화합니다.
  • QT_RESTRICTED_CAST_FROM_ASCII C 문자 및 문자 배열로부터의 자동 변환은 허용하지만 문자 포인터로부터 유니코드로의 자동 변환은 비활성화합니다.
  • QT_NO_CAST_TO_ASCII QString에서 C 문자열로의 자동 변환을 비활성화합니다.

그런 다음 명시적으로 fromUtf8(), fromLatin1() 또는 fromLocal8Bit()를 호출하여 8비트 문자열에서 QString을 구성하거나 경량 QLatin1StringView 클래스를 사용해야 합니다. 예를 들어

QString url = "https://www.unicode.org/"_L1;

마찬가지로 toLatin1(), toUtf8() 또는 toLocal8Bit()를 명시적으로 호출하여 8비트 문자열로 QString을 변환해야 합니다.

C 프로그래머를 위한 참고 사항
C++의 타입 시스템과 QString이 암시적으로 공유된다는 사실로 인해 QString은 ints 또는 다른 기본 타입처럼 취급될 수 있습니다. 예를 들어
QString Widget::boolToString(bool b)
{
    QString result;
    if (b)
        result = "True";
    else
        result = "False";
    return result;
}

result 변수는 스택에 할당된 일반 변수입니다. return 이 호출되면 값으로 반환하기 때문에 복사 생성자가 호출되고 문자열의 복사본이 반환됩니다. 암시적 공유 덕분에 실제 복사는 일어나지 않습니다.

널 문자열과 빈 문자열의 구분

역사적인 이유로 QString은 널 문자열과 빈 문자열을 구분합니다. 문자열은 QString의 기본 생성자를 사용하거나 생성자에 nullptr 을 전달하여 초기화되는 문자열입니다. 문자열은 크기가 0인 모든 문자열입니다. 널 문자열은 항상 비어 있지만 빈 문자열이 반드시 널인 것은 아닙니다:

QString().isNull();               // returns true
QString().isEmpty();              // returns true

QString("").isNull();             // returns false
QString("").isEmpty();            // returns true

QString("abc").isNull();          // returns false
QString("abc").isEmpty();         // returns false

isNull()를 제외한 모든 함수는 null 문자열을 빈 문자열과 동일하게 취급합니다. 예를 들어, toUtf8().constData()는 널 문자열에 대해 nullptr 가 아닌 '\0' 문자에 대한 유효한 포인터를 반환합니다. 항상 isEmpty() 함수를 사용하고 isNull() 함수는 피하는 것이 좋습니다.

숫자 형식

QString::arg() '%' 형식 지정자에 'L' 로캘 한정자가 포함되어 있고 기본값이 10인 경우 기본 로캘이 사용됩니다. QLocale::setDefault ()를 사용하여 설정할 수 있습니다. 숫자의 지역화된 문자열 표현을 보다 정교하게 제어하려면 QLocale::toString()를 참조하세요. QString에 의해 수행되는 다른 모든 숫자 서식은 C 로캘의 숫자 표현을 따릅니다.

QString::arg()가 숫자에 왼쪽 패딩을 적용하면 채우기 문자 '0' 가 특별하게 처리됩니다. 숫자가 음수인 경우 0 패딩 앞에 마이너스 기호가 표시됩니다. 필드가 지역화된 경우 '0' 대신 로캘에 적합한 0 문자가 사용됩니다. 부동 소수점 숫자의 경우 이 특수 처리는 숫자가 유한한 경우에만 적용됩니다.

부동 소수점 형식

부동 소수점 숫자(float 또는 double)를 문자열로 형식화하는 멤버 함수(예: arg() 및 number())에서 사용되는 표현은 QLocale::toString(double, char, int)의 의미와 같은 형식정밀도 선택으로 제어할 수 있습니다.

선택한 형식에 지수가 포함된 경우 지역화된 형식은 지수의 자릿수에 대한 로캘의 규칙을 따릅니다. 지역화되지 않은 서식의 경우 지수는 부호를 표시하고 필요한 경우 0으로 왼쪽에 패딩된 두 자리 이상을 포함합니다.

보다 효율적인 문자열 구성

컴파일 시 많은 문자열이 알려져 있습니다. C++ 문자열 리터럴의 QString 생성자는 문자열의 내용을 복사하여 내용을 UTF-8로 처리합니다. 이를 위해서는 메모리 할당과 문자열 데이터 재인코딩 작업이 필요하며, 이러한 작업은 런타임에 이루어집니다. 문자열 데이터를 컴파일 시점에 알 수 있는 경우 QStringLiteral 매크로 또는 이와 유사한 operator""_s 을 사용하여 컴파일 시점에 QString의 페이로드를 대신 생성할 수 있습니다.

QString '+' 연산자를 사용하면 여러 개의 하위 문자열로 복잡한 문자열을 쉽게 구성할 수 있습니다. 이와 같은 코드를 자주 작성하게 됩니다:

    QString foo;
    QString type = "long";

    foo = "vector<"_L1 + type + ">::iterator"_L1;

    if (foo.startsWith("(" + type + ") 0x"))
        ...

이러한 문자열 구성에는 아무런 문제가 없지만 몇 가지 숨겨진 비효율성이 있습니다:

첫째, '+' 연산자를 반복적으로 사용하면 메모리가 여러 개 할당될 수 있습니다. n개의 하위 문자열을 연결할 때 n이 2를 초과하면 메모리 할당자에 대한 호출이 n - 1까지 발생할 수 있습니다.

이러한 할당은 내부 클래스 QStringBuilder 에 의해 최적화될 수 있습니다. 이 클래스는 내부로 표시되어 있으며 코드에서 인스턴스화할 필요가 없으므로 문서에는 표시되지 않습니다. 이 클래스는 아래에 설명된 대로 자동으로 사용됩니다. 이 클래스는 src/corelib/tools/qstringbuilder.cpp 에서 확인할 수 있습니다.

QStringBuilder 표현식 템플릿을 사용하고 '%' 연산자를 다시 구현하여 '+' 대신 '%' 을 문자열 연결에 사용할 때 여러 개의 하위 문자열 연결이 최종 결과가 QString에 할당될 때까지 연기되도록 합니다. 이 시점에서 최종 결과에 필요한 메모리 양을 알 수 있습니다. 그런 다음 메모리 할당자를 한 번 호출하여 필요한 공간을 확보하고 하위 문자열을 하나씩 복사합니다.

참조 카운팅을 인라이닝하고 줄임으로써 추가적인 효율성을 얻을 수 있습니다( QStringBuilder 에서 생성된 QString의 참조 카운트는 1이지만 QString::append()은 추가 테스트가 필요함).

이 개선된 문자열 구성 방식에 액세스할 수 있는 방법은 두 가지가 있습니다. 가장 간단한 방법은 사용하려는 위치에 QStringBuilder 을 포함시키고 문자열을 연결할 때 '+' 대신 '%' 연산자를 사용하는 것입니다:

    #include <QStringBuilder>

    QString hello("hello");
    QStringView el = QStringView{ hello }.mid(2, 3);
    QLatin1StringView world("world");
    QString message =  hello % el % world % QChar('!');

더 편리하지만 소스와 완전히 호환되지는 않는 보다 전역적인 접근 방식은 빌드 시 컴파일러 플래그에 QT_USE_QSTRINGBUILDER 를 추가하여 정의하는 것입니다. 이렇게 하면 '+' 로 문자열을 연결해도 QStringBuilder's '%' 과 같은 방식으로 작동합니다.

참고: QStringBuilder가 활성화된 경우 문자열 연결 결과에 자동 유형 추론(예: auto 키워드 사용)을 사용하면 연결이 실제로 QStringBuilder 전문화의 객체임을 표시합니다:

    QString str("QStringBuilder");

    // "s" type is deduced as QStringBuilder<...>
    auto s = "Like hot glue, " % str % " concatenates strings";

    // Similarly the return type of this lambda is deduced as QStringBuilder<...>
    auto concatenateStr = []() {
        return "Like hot glue, " % str % " concatenates strings";
    };

필요한 경우 QStringBuilder가 암시적으로 QString으로 변환하므로 아무런 해를 끼치지 않습니다. 이것이 바람직하지 않다면 컴파일러가 추론하도록 하는 대신 필요한 유형을 지정해야 합니다:

    QString s = "Like hot glue, " % str % " concatenates strings";

    // With a lambda, specify a trailing return type:
    auto concatenateStr = []() -> QString {
        return "Like hot glue, " % str % " concatenates strings";
    };

최대 크기 및 메모리 부족 조건

QString의 최대 크기는 아키텍처에 따라 다릅니다. 대부분의 64비트 시스템은 2GB 이상의 메모리를 할당할 수 있으며, 일반적으로 2^63바이트로 제한됩니다. 실제 값은 데이터 블록을 관리하는 데 필요한 오버헤드에 따라 달라집니다. 따라서 32비트 플랫폼에서는 오버헤드를 뺀 최대 2GB, 64비트 플랫폼에서는 오버헤드를 뺀 2^63바이트의 크기를 기대할 수 있습니다. QString에 저장할 수 있는 요소의 수는 이 최대 크기를 QChar 의 크기로 나눈 값입니다.

메모리 할당이 실패하면 응용 프로그램이 예외 지원을 사용하여 컴파일된 경우 QString은 std::bad_alloc 예외를 던집니다. Qt 컨테이너의 메모리 부족 조건은 Qt가 예외를 던지는 유일한 경우입니다. 예외가 비활성화되어 있으면 메모리 부족은 정의되지 않은 동작입니다.

참고: 대상 운영 체제는 애플리케이션이 할당할 수 있는 메모리 총량 또는 개별 할당 크기에 제한을 둘 수 있습니다. 이로 인해 QString이 보유할 수 있는 문자열의 크기가 더욱 제한될 수 있습니다. 이러한 제한으로 인해 발생하는 동작을 완화하거나 제어하는 것은 Qt API의 범위를 벗어납니다.

fromRawData(), QChar, QStringView, QLatin1StringView, 및 QByteArray참조하십시오 .

멤버 유형 문서

QString::ConstIterator

QString::const_iterator 의 Qt 스타일 동의어.

QString::Iterator

QString::iterator 의 Qt 스타일 동의어.

enum QString::NormalizationForm

이 열거형은 유니코드 텍스트의 다양한 정규화된 형태를 설명합니다.

Constant설명
QString::NormalizationForm_D0정규 분해
QString::NormalizationForm_C1표준 분해 후 표준 구성
QString::NormalizationForm_KD2호환성 분해
QString::NormalizationForm_KC3호환성 분해 후 표준 구성

normalized() 및 유니코드 표준 부록 #15를참조하십시오 .

열거형 QString::SectionFlag
플래그 QString::SectionFlags

이 열거형은 구분 기호 및 빈 필드와 관련하여 section() 함수의 동작의 다양한 측면에 영향을 주는 데 사용할 수 있는 플래그를 지정합니다.

상수설명
QString::SectionDefault0x00빈 필드를 계산하고, 선행 및 후행 구분 기호는 포함하지 않으며, 구분 기호는 대소문자를 구분하여 비교합니다.
QString::SectionSkipEmpty0x01빈 필드는 존재하지 않는 것처럼, 즉 시작과 끝에 관한 한 고려되지 않는 것처럼 취급합니다.
QString::SectionIncludeLeadingSep0x02결과 문자열에 선행 구분 기호(있는 경우)를 포함합니다.
QString::SectionIncludeTrailingSep0x04결과 문자열에 후행 구분 기호(있는 경우)를 포함합니다.
QString::SectionCaseInsensitiveSeps0x08구분 기호를 대소문자를 구분하지 않고 비교합니다.

SectionFlags 유형은 QFlags<SectionFlag>에 대한 타입 정의입니다. 섹션 플래그 값의 OR 조합을 저장합니다.

section()도 참조하세요 .

QString::const_iterator

QString::iterator도 참조하세요 .

QString::const_pointer

QString::const_pointer typedef는 QString 요소(QChar)에 대한 STL 스타일의 const 포인터를 제공합니다.

QString::const_reference

QString::const_reverse_iterator

QString::reverse_iteratorQString::const_iterator도 참조하세요 .

QString::difference_type

QString::iterator

QString::const_iterator도 참조하세요 .

QString::pointer

QString::포인터 타입데프는 QString 요소(QChar)에 대한 STL 스타일 포인터를 제공합니다.

QString::reference

QString::reverse_iterator

QString::const_reverse_iteratorQString::iterator도 참조하세요 .

QString::size_type

QString::value_type

멤버 기능 문서

QString QString::left(qsizetype n) &&

QString QString::left(qsizetype n) const &

문자열의 가장 왼쪽에 n 문자가 포함된 하위 문자열을 반환합니다.

n 가 범위를 벗어날 수 없다는 것을 알고 있다면 새 코드에서 first()를 사용하는 것이 더 빠릅니다.

nsize()보다 크거나 같거나 0보다 작으면 전체 문자열이 반환됩니다.

first(), last(), startsWith(), chopped(), chop() 및 truncate()도 참조하세요 .

QString QString::right(qsizetype n) const &

문자열의 가장 오른쪽에 n 문자가 포함된 부분 문자열을 반환합니다.

n 가 범위를 벗어날 수 없다는 것을 알고 있다면 새 코드에서 last()를 사용하는 것이 더 빠릅니다.

nsize()보다 크거나 같거나 0보다 작으면 전체 문자열이 반환됩니다.

endsWith(), last(), first(), sliced(), chopped(), chop(), truncate() 및 slice()도 참조하세요 .

QString QString::mid(qsizetype position, qsizetype n = -1) &&

QString QString::mid(qsizetype position, qsizetype n = -1) const &

지정된 position 인덱스에서 시작하여 이 문자열의 n 문자가 포함된 문자열을 반환합니다.

positionn 이 범위를 벗어날 수 없다는 것을 알고 있다면 새 코드에서 sliced()를 대신 사용하는 것이 더 빠릅니다.

position 인덱스가 문자열 길이를 초과하는 경우 null 문자열을 반환합니다. 지정된 position 에서 시작하는 문자열에 사용 가능한 문자가 n 미만인 경우 또는 n 이 -1(기본값)인 경우 이 함수는 지정된 position 에서 사용 가능한 모든 문자를 반환합니다.

first(), last(), sliced(), chopped(), chop(), truncate() 및 slice()도 참조하세요 .

[since 6.0] QString QString::first(qsizetype n) &&

[since 6.0] QString QString::first(qsizetype n) const &

이 문자열의 첫 n 문자가 포함된 문자열을 반환합니다.

참고: n < 0 또는 n > size()인 경우 동작이 정의되지 않습니다.

QString x = "Pineapple";
QString y = x.first(4);      // y == "Pine"

이 함수는 Qt 6.0에 도입되었습니다.

last(), sliced(), startsWith(), chopped(), chop(), truncate() 및 slice()도 참조하십시오 .

[since 6.0] QString QString::last(qsizetype n) &&

[since 6.0] QString QString::last(qsizetype n) const &

이 문자열의 마지막 n 문자가 포함된 문자열을 반환합니다.

참고: n < 0 또는 n > size()인 경우 동작이 정의되지 않습니다.

QString x = "Pineapple";
QString y = x.last(5);      // y == "apple"

이 함수는 Qt 6.0에 도입되었습니다.

first(), sliced(), endsWith(), chopped(), chop(), truncate() 및 slice()도 참조하십시오 .

[since 6.0] QString QString::sliced(qsizetype pos, qsizetype n) &&

[since 6.0] QString QString::sliced(qsizetype pos, qsizetype n) const &

위치 pos 에서 시작하는 n 문자가 포함된 문자열을 반환합니다.

참고: pos < 0, n < 0 또는 pos + n > size()인 경우 동작이 정의되지 않습니다.

QString x = "Nine pineapples";
QString y = x.sliced(5, 4);            // y == "pine"
QString z = x.sliced(5);               // z == "pineapples"

이 함수는 Qt 6.0에 도입되었습니다.

first(), last(), chopped(), chop(), truncate() 및 slice()도 참조하십시오 .

[since 6.0] QString QString::sliced(qsizetype pos) &&

[since 6.0] QString QString::sliced(qsizetype pos) const &

이 함수는 오버로드된 함수입니다.

pos 위치에서 시작하여 끝까지 확장되는 이 문자열의 일부가 포함된 문자열을 반환합니다.

참고: pos < 0 또는 pos > size()인 경우 동작이 정의되지 않습니다.

이 함수는 Qt 6.0에 도입되었습니다.

first(), last(), chopped(), chop(), truncate() 및 slice()도 참조하세요 .

QString QString::chopped(qsizetype len) &&

QString QString::chopped(qsizetype len) const &

size() - len 이 문자열의 가장 왼쪽 문자가 포함된 문자열을 반환합니다.

참고: len 가 음수이거나 size()보다 크면 동작이 정의되지 않습니다.

endsWith(), first(), last(), sliced(), chop(), truncate() 및 slice()도 참조하세요 .

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

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

이 함수는 문자열이 이론적으로 포함할 수 있는 최대 요소 수를 반환합니다. 실제로는 시스템에서 사용할 수 있는 메모리의 양에 따라 이보다 훨씬 작을 수 있습니다.

이 함수는 Qt 6.8에 도입되었습니다.

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

이 문자열에서 %N 의 발생을 args 의 해당 인수로 대체합니다. 인수는 위치가 아닙니다: args 의 첫 번째는 %N 을 가장 낮은 N (모두), args 의 두 번째는 %N 을 다음으로 낮은 N 등으로 대체합니다.

ArgsQString, QStringView 또는 QLatin1StringView 로 암시적으로 변환되는 모든 것으로 구성될 수 있습니다.

또한 다음 유형도 지원됩니다: QChar, QLatin1Char.

QString::arg()도 참조하세요 .

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

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

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

sep 이 발생할 때마다 문자열을 하위 문자열 보기로 분할하고 해당 문자열의 지연 시퀀스를 반환합니다.

와 동일합니다.

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

와 동일하지만 컴파일러에서 C++17 클래스 템플릿 인수 공제(CTAD)를 활성화하지 않아도 작동합니다.

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에 도입되었습니다.

참고: (1)은 noexcept(qTokenize(std::declval<QString>(), std::forward<Needle>(needle), flags...))true 일 때를 제외하고는 없습니다.

참고: (2)는 noexcept(qTokenize(std::declval<const QString &>(), std::forward<Needle>(needle), flags...))true 일 때를 제외하고는 없습니다.

참고: (3)은 noexcept(qTokenize(std::declval<const QString>(), std::forward<Needle>(needle), flags...))true 일 때를 제외하고는 없습니다.

QStringTokenizerqTokenize()도 참조하세요 .

[constexpr noexcept] QString::QString()

널 문자열을 생성합니다. 널 문자열도 비어 있는 것으로 간주합니다.

isEmpty(), isNull() 및 Distinction Between Null and Empty Strings참조하십시오 .

QString::QString(QChar ch)

ch 문자를 포함하는 크기 1의 문자열을 생성합니다.

QString::QString(QLatin1StringView str)

str 에서 본 라틴-1 문자열의 복사본을 생성합니다.

fromLatin1()도 참조하세요 .

QString::QString(const QByteArray &ba)

바이트 배열 ba 로 초기화된 문자열을 생성합니다. 주어진 바이트 배열은 fromUtf8()를 사용하여 유니코드로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 생성자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

참고: 바이트 배열의 모든 널('\0') 바이트는 이 문자열에 포함되며 유니코드 널 문자(U+0000)로 변환됩니다. 이 동작은 Qt 5.x와 다릅니다.

fromLatin1(), fromLocal8Bit() 및 fromUtf8()도 참조하십시오 .

QString::QString(const char *str)

8비트 문자열 str 로 초기화된 문자열을 생성합니다. 지정된 const 문자 포인터는 fromUtf8() 함수를 사용하여 유니코드로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 생성자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

참고: QT_RESTRICTED_CAST_FROM_ASCII 을 정의하면 이 생성자는 비활성화되지만 대신 QString(const char (&ch)[N]) 생성자는 활성화됩니다. 이 경우 리터럴이 아닌 입력, NUL 문자가 포함된 입력 또는 7비트 이외의 문자를 사용하는 것은 정의되지 않습니다.

fromLatin1(), fromLocal8Bit() 및 fromUtf8()도 참조하세요 .

[since 6.1] QString::QString(const char8_t *str)

UTF-8 문자열 str 로 초기화된 문자열을 생성합니다. 주어진 const char8_t 포인터는 fromUtf8() 함수를 사용하여 유니코드로 변환됩니다.

이 함수는 Qt 6.1에 도입되었습니다.

fromLatin1(), fromLocal8Bit() 및 fromUtf8()도 참조하십시오 .

[explicit] QString::QString(const QChar *unicode, qsizetype size = -1)

QChar 배열 unicode 의 첫 size 문자로 초기화된 문자열을 생성합니다.

unicode 가 0이면 널 문자열이 생성됩니다.

size 이 음수이면 unicode 은 \0'으로 끝나는 배열을 가리키는 것으로 가정하고 그 길이는 동적으로 결정됩니다. 끝나는 널 문자는 문자열의 일부로 간주되지 않습니다.

QString은 문자열 데이터의 심층 복사본을 만듭니다. 유니코드 데이터는 그대로 복사되며 바이트 순서 표시가 있는 경우 보존됩니다.

fromRawData()도 참조하세요 .

QString::QString(qsizetype size, QChar ch)

모든 문자가 ch 으로 설정된 주어진 size 의 문자열을 생성합니다.

fill()도 참조하세요 .

[noexcept] QString::QString(const QString &other)

other 의 복사본을 생성합니다.

이 작업은 QString이 암시적으로 공유되기 때문에 일정한 시간이 걸립니다. 따라서 함수에서 QString을 반환하는 속도가 매우 빠릅니다. 공유 인스턴스가 수정되면 복사(쓰기 시 복사)되므로 선형 시간이 걸립니다.

operator=()도 참조하세요 .

[noexcept] QString::QString(QString &&other)

Move - QString 인스턴스를 생성하여 other 이 가리키고 있던 것과 동일한 객체를 가리키도록 합니다.

[noexcept] QString::~QString()

문자열을 삭제합니다.

QString &QString::append(const QString &str)

이 문자열 끝에 str 문자열을 추가합니다.

예시:

QString x = "free";
QString y = "dom";

x.append(y);
// x == "freedom"

이는 insert() 함수를 사용하는 것과 동일합니다:

x.insert(x.size(), y);

append() 함수는 일반적으로 매우 빠릅니다(일정한 시간). QString 문자열 데이터 끝에 추가 공간을 미리 할당하므로 매번 전체 문자열을 재할당하지 않고도 늘릴 수 있기 때문입니다.

operator+=(), prepend() 및 insert()도 참조하세요 .

QString &QString::append(QChar ch)

이 함수는 append()를 오버로드합니다.

이 문자열에 ch 문자를 추가합니다.

QString &QString::append(QLatin1StringView str)

이 함수는 append()를 오버로드합니다.

str 에서 본 라틴어-1 문자열을 이 문자열에 추가합니다.

[since 6.0] QString &QString::append(QStringView v)

이 함수는 append()를 오버로드합니다.

주어진 문자열 보기 v 를 이 문자열에 추가하고 결과를 반환합니다.

이 함수는 Qt 6.0에 도입되었습니다.

[since 6.5] QString &QString::append(QUtf8StringView str)

이 함수는 append()를 오버로드합니다.

이 문자열에 UTF-8 문자열 보기 str 를 추가합니다.

이 함수는 Qt 6.5에 도입되었습니다.

QString &QString::append(const QByteArray &ba)

이 함수는 append()를 오버로드합니다.

이 문자열에 바이트 배열 ba 을 추가합니다. 지정된 바이트 배열은 fromUtf8() 함수를 사용하여 유니코드로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 함수를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

QString &QString::append(const char *str)

이 함수는 append()를 오버로드합니다.

이 문자열에 str 문자열을 추가합니다. 지정된 상수 문자 포인터는 fromUtf8() 함수를 사용하여 유니코드로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 함수를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

QString &QString::append(const QChar *str, qsizetype len)

이 함수는 append()를 오버로드합니다.

QChar 배열 strlen 문자를 이 문자열에 추가합니다.

QString QString::arg(const QString &a, int fieldWidth = 0, QChar fillChar = u' ') const

가장 낮은 번호의 자리 표시자가 문자열 a, 즉 %1, %2, ..., %99 으로 대체된 이 문자열의 복사본을 반환합니다.

fieldWidth 인자 a 가 차지할 최소 공간을 지정합니다. afieldWidth 보다 적은 공간이 필요한 경우 fieldWidthfillChar 문자가 추가됩니다. 양수 fieldWidth 는 오른쪽 정렬 텍스트를 생성합니다. 음수 fieldWidth 는 왼쪽 정렬 텍스트를 생성합니다.

이 예는 파일 목록을 처리하는 동안 진행 상황을 보고하기 위해 status 문자열을 만드는 방법을 보여줍니다:

QString i;           // current file's number
QString total;       // number of files to process
QString fileName;    // current file's name

QString status = QString("Processing file %1 of %2: %3")
                .arg(i).arg(total).arg(fileName);

먼저 arg(i)%1 을 대체합니다. 그런 다음 arg(total)%2 을 대체합니다. 마지막으로 arg(fileName)%3 을 대체합니다.

asprintf()보다 arg()를 사용할 때의 한 가지 장점은 애플리케이션의 문자열이 다른 언어로 번역되는 경우 번호가 매겨진 플레이스 마커의 순서가 바뀔 수 있지만 각 arg()는 어디에 나타나든 대체되지 않은 가장 낮은 번호의 플레이스 마커를 대체한다는 것입니다. 또한 문자열에 %i 자리 표시자가 두 번 이상 나타나는 경우 arg()는 모든 자리 표시자를 대체합니다.

대체되지 않은 플레이스 마커가 남아 있지 않으면 경고 메시지가 출력되고 결과가 정의되지 않습니다. 플레이스 마커 번호는 1에서 99 사이의 범위여야 합니다.

QString QString::arg(QChar a, int fieldWidth = 0, QChar fillChar = u' ') const

이 함수는 arg()를 오버로드합니다.

QString QString::arg(QLatin1StringView a, int fieldWidth = 0, QChar fillChar = u' ') const

이 함수는 오버로드된 함수입니다.

a, 즉 %1, %2, ..., %99 에서 보는 라틴-1 문자열로 대체된 가장 낮은 번호의 자리 표시자가 있는 이 문자열의 복사본을 반환합니다.

fieldWidtha 이 차지할 최소 공간을 지정합니다. afieldWidth 보다 적은 공간을 필요로 하는 경우 fieldWidthfillChar 문자가 추가됩니다. 양수 fieldWidth 는 오른쪽 정렬 텍스트를 생성합니다. 음수 fieldWidth 는 왼쪽 정렬 텍스트를 생성합니다.

asprintf()보다 arg()를 사용할 때의 한 가지 장점은 애플리케이션의 문자열이 다른 언어로 번역되는 경우 번호가 매겨진 플레이스 마커의 순서가 바뀔 수 있지만 각 arg()는 위치에 관계없이 대체되지 않은 가장 낮은 번호의 플레이스 마커를 대체한다는 것입니다. 또한 문자열에 %i 자리 표시자가 두 번 이상 나타나면 arg()가 모두 대체합니다.

대체되지 않은 플레이스 마커가 남아 있지 않으면 경고 메시지가 인쇄되고 결과가 정의되지 않습니다. 플레이스 마커 번호는 1에서 99 사이의 범위여야 합니다.

QString QString::arg(QStringView a, int fieldWidth = 0, QChar fillChar = u' ') const

이 함수는 오버로드된 함수입니다.

가장 낮은 번호의 자리 표시자가 문자열 a, 즉 %1, %2, ..., %99 으로 대체된 이 문자열의 복사본을 반환합니다.

fieldWidtha 이 차지할 최소 공간을 지정합니다. afieldWidth 보다 적은 공간을 필요로 하는 경우 fieldWidthfillChar 문자가 추가됩니다. 양수 fieldWidth 는 오른쪽 정렬 텍스트를 생성합니다. 음수 fieldWidth 는 왼쪽 정렬 텍스트를 생성합니다.

이 예는 파일 목록을 처리하는 동안 진행 상황을 보고하기 위해 status 문자열을 만드는 방법을 보여줍니다:

int i;                // current file's number
int total;            // number of files to process
QStringView fileName; // current file's name

QString status = QString("Processing file %1 of %2: %3")
                .arg(i).arg(total).arg(fileName);

먼저 arg(i)%1 을 대체합니다. 그런 다음 arg(total)%2 을 대체합니다. 마지막으로 arg(fileName)%3 을 대체합니다.

asprintf()보다 arg()를 사용할 때의 한 가지 장점은 애플리케이션의 문자열이 다른 언어로 번역되는 경우 번호가 매겨진 플레이스 마커의 순서가 바뀔 수 있지만 각 arg()는 위치에 관계없이 대체되지 않은 가장 낮은 번호의 플레이스 마커를 대체한다는 것입니다. 또한 문자열에 %i 자리 표시자가 두 번 이상 나타나면 arg()가 모두 대체합니다.

대체되지 않은 플레이스 마커가 남아 있지 않으면 경고 메시지가 인쇄되고 결과가 정의되지 않습니다. 플레이스 마커 번호는 1에서 99 사이의 범위여야 합니다.

QString QString::arg(char a, int fieldWidth = 0, QChar fillChar = u' ') const

이 함수는 arg()를 오버로드합니다.

a 인수는 라틴-1 문자로 해석됩니다.

QString QString::arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const

이 함수는 arg()를 오버로드합니다.

a 인수는 기본적으로 10인 기본값 base 으로 표현되며 2에서 36 사이여야 합니다. 10 이외의 염기의 경우 a 는 부호 없는 정수로 취급됩니다.

fieldWidth afillChar 문자로 채워질 최소 공백을 지정합니다. 양수 값은 오른쪽 정렬 텍스트를 생성하고 음수 값은 왼쪽 정렬 텍스트를 생성합니다.

'%' 뒤에 'L'이 올 수 있으며, 이 경우 시퀀스는 a 의 지역화된 표현으로 대체됩니다. 변환은 QLocale::setDefault()로 설정된 기본 로캘을 사용합니다. 기본 로캘을 지정하지 않으면 시스템 로캘이 사용됩니다. base 이 10이 아닌 경우 'L' 플래그는 무시됩니다.

QString str;
str = QString("Decimal 63 is %1 in hexadecimal")
        .arg(63, 0, 16);
// str == "Decimal 63 is 3f in hexadecimal"

QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
str = QString("%1 %L2 %L3")
        .arg(12345)
        .arg(12345)
        .arg(12345, 0, 16);
// str == "12345 12,345 3039"

Number Formats참조하세요 .

QString QString::arg(long a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const

이 함수는 arg()를 오버로드합니다.

fieldWidth afillChar 문자가 채워질 최소 공백을 지정합니다. 양수 값은 오른쪽 정렬 텍스트를 생성하고 음수 값은 왼쪽 정렬 텍스트를 생성합니다.

a 인수는 지정된 base 으로 표현되며, 기본값은 10이고 2에서 36 사이여야 합니다.

'%' 뒤에 'L'이 올 수 있으며, 이 경우 시퀀스는 a 의 지역화된 표현으로 대체됩니다. 변환은 기본 로캘을 사용합니다. 기본 로캘은 애플리케이션 시작 시 시스템의 로캘 설정에서 결정됩니다. QLocale::setDefault ()를 사용하여 변경할 수 있습니다. base 이 10이 아닌 경우 'L' 플래그는 무시됩니다.

QString str;
str = QString("Decimal 63 is %1 in hexadecimal")
        .arg(63, 0, 16);
// str == "Decimal 63 is 3f in hexadecimal"

QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
str = QString("%1 %L2 %L3")
        .arg(12345)
        .arg(12345)
        .arg(12345, 0, 16);
// str == "12345 12,345 3039"

Number Formats참조하세요 .

QString QString::arg(qlonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const

이 함수는 arg()를 오버로드합니다.

fieldWidth afillChar 문자가 채워질 최소 공백을 지정합니다. 양수 값은 오른쪽 정렬 텍스트를 생성하고 음수 값은 왼쪽 정렬 텍스트를 생성합니다.

base 인수는 정수 a 를 문자열로 변환할 때 사용할 기저를 지정합니다. 자릿수는 2에서 36 사이여야 하며, 8은 8진수, 10진수, 16진수를 나타냅니다.

Number Formats도 참조하세요 .

QString QString::arg(qulonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const

이 함수는 arg()를 오버로드합니다.

fieldWidth afillChar 문자로 채워질 최소 공백을 지정합니다. 양수 값은 오른쪽 정렬 텍스트를 생성하고 음수 값은 왼쪽 정렬 텍스트를 생성합니다.

base 인수는 정수 a 를 문자열로 변환할 때 사용할 기저를 지정합니다. base 는 2에서 36 사이여야 하며, 8은 8진수, 10진수, 16진수입니다.

Number Formats도 참조하세요 .

QString QString::arg(short a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const

이 함수는 arg()를 오버로드합니다.

fieldWidth afillChar 문자가 채워질 최소 공백을 지정합니다. 양수 값은 오른쪽 정렬 텍스트를 생성하고 음수 값은 왼쪽 정렬 텍스트를 생성합니다.

base 인수는 정수 a 를 문자열로 변환할 때 사용할 기저를 지정합니다. 자릿수는 2에서 36 사이여야 하며, 8은 8진수, 10진수, 16진수를 나타냅니다.

Number Formats도 참조하세요 .

QString QString::arg(uint a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const

이 함수는 arg()를 오버로드합니다.

base 인수는 정수 a 를 문자열로 변환할 때 사용할 기저를 지정합니다. 베이스는 2에서 36 사이여야 합니다.

Number Formats참조하세요 .

QString QString::arg(ulong a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const

이 함수는 arg()를 오버로드합니다.

fieldWidth afillChar 문자로 채워질 최소 공백을 지정합니다. 양수 값은 오른쪽 정렬 텍스트를 생성하고 음수 값은 왼쪽 정렬 텍스트를 생성합니다.

base 인수는 정수 a 를 문자열로 변환할 때 사용할 기저를 지정합니다. 기본값은 2에서 36 사이여야 하며, 8은 8진수, 10진수, 16진수를 의미합니다.

Number Formats도 참조하세요 .

QString QString::arg(ushort a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const

이 함수는 arg()를 오버로드합니다.

fieldWidth afillChar 문자가 채워질 최소 공백을 지정합니다. 양수 값은 오른쪽 정렬 텍스트를 생성하고 음수 값은 왼쪽 정렬 텍스트를 생성합니다.

base 인수는 정수 a 를 문자열로 변환할 때 사용할 기저를 지정합니다. 자릿수는 2에서 36 사이여야 하며, 8은 8진수, 10진수, 16진수를 나타냅니다.

Number Formats도 참조하세요 .

QString QString::arg(double a, int fieldWidth = 0, char format = 'g', int precision = -1, QChar fillChar = u' ') const

이 함수는 arg()를 오버로드합니다.

인자 a 는 지정된 formatprecision 에 따라 형식이 지정됩니다. 자세한 내용은 Floating-point Formats 을 참조하십시오.

fieldWidth afillChar 문자로 채워질 최소 공백을 지정합니다. 양수 값은 오른쪽 정렬 텍스트를 생성하고 음수 값은 왼쪽 정렬 텍스트를 생성합니다.

double d = 12.34;
QString str = QString("delta: %1").arg(d, 0, 'E', 3);
// str == "delta: 1.234E+01"

QLocale::toString(), QLocale::FloatingPointPrecisionOption, Number Formats도 참조하세요 .

[static] QString QString::asprintf(const char *cformat, ...)

cformat 형식 문자열과 임의의 인수 목록에서 형식이 지정된 문자열을 안전하게 작성합니다.

포맷 문자열은 표준 C++ 라이브러리의 printf()에서 제공하는 변환 지정자, 길이 수정자 및 플래그를 지원합니다. cformat 문자열과 %s 인수는 UTF-8로 인코딩되어야 합니다.

참고: %lc 이스케이프 시퀀스는 char16_t 또는 ushort ( QChar::unicode()에서 반환된 대로) 유형의 유니코드 문자를 기대합니다. %ls 이스케이프 시퀀스는 char16_t 또는 ushort( QString::utf16()에서 반환된 대로) 유형의 0으로 끝나는 유니코드 문자 배열에 대한 포인터를 기대합니다. 이는 표준 C++ 라이브러리의 printf()와 상충되는 것으로, %lc 는 wchar_t를 출력하고 %lswchar_t* 를 출력하도록 정의하며 wchar_t 의 크기가 16비트가 아닌 플랫폼에서 컴파일러 경고를 생성할 수도 있습니다.

경고: 새 Qt 코드에서 QString::asprintf()를 사용하지 않는 것이 좋습니다. 대신 유니코드 문자열을 원활하게 지원하고 유형 안전성이 보장되는 QTextStream 또는 arg()을 사용하는 것이 좋습니다. 다음은 QTextStream 을 사용하는 예제입니다:

QString result;
QTextStream(&result) << "pi = " << 3.14;
// result == "pi = 3.14"

translations 의 경우 특히 문자열에 이스케이프 시퀀스가 두 개 이상 포함된 경우 arg() 함수를 대신 사용하는 것이 좋습니다. 이렇게 하면 번역기가 대체 순서를 제어할 수 있습니다.

arg()도 참조하세요 .

[since 6.6] QString &QString::assign(QAnyStringView v)

이 문자열의 내용을 v 의 복사본으로 바꾸고 이 문자열에 대한 참조를 반환합니다.

이 문자열의 크기는 v 의 크기와 같으며, v.toString() 처럼 UTF-16으로 변환됩니다. 그러나 QAnyStringView::toString()와 달리 이 함수는 예상 크기가 이 문자열의 용량을 초과하거나 이 문자열이 공유되는 경우에만 메모리를 할당합니다.

이 함수는 Qt 6.6에 도입되었습니다.

QAnyStringView::toString()도 참조하십시오 .

[since 6.6] template <typename InputIterator, QString::if_compatible_iterator<InputIterator> = true> QString &QString::assign(InputIterator first, InputIterator last)

이 문자열의 내용을 이터레이터 범위 [first, last]의 요소 복사본으로 대체하고 이 문자열에 대한 참조를 반환합니다.

이 문자열의 크기는 범위 [first, last]에 있는 요소의 디코딩된 길이와 같으며, 이 함수는 입력 문자 집합을 UTF-16으로 투명하게 리코딩하므로 범위 자체의 길이와 같을 필요는 없습니다.

이 함수는 범위 내 요소 수 또는 UTF-16으로 인코딩되지 않은 입력의 경우 결과 문자열의 가능한 최대 크기가 이 문자열의 용량을 초과하거나 이 문자열이 공유되는 경우에만 메모리를 할당합니다.

참고: 이 함수 오버로드는 InputIteratorLegacyInputIterator의 요구 사항을 충족하고 InputIteratorvalue_type 가 다음 문자 유형 중 하나인 경우에만 오버로드 해결에 참여합니다:

  • QChar
  • QLatin1Char
  • char
  • unsigned char
  • signed char
  • char8_t
  • char16_t
  • (Windows와 같은 플랫폼에서 16비트 유형인 경우). wchar_t
  • char32_t

참고: 인자가 *이거나 [first, last)로의 이터레이터인 경우 유효한 범위가 아닌 경우 동작이 정의되지 않습니다.

이 함수는 Qt 6.6에 도입되었습니다.

[since 6.6] QString &QString::assign(qsizetype n, QChar c)

이 문자열의 내용을 cn 복사본으로 바꾸고 이 문자열에 대한 참조를 반환합니다.

이 문자열의 크기는 n 과 같으며 음수가 아닌 값이어야 합니다.

이 함수는 n 이 문자열의 용량을 초과하거나 이 문자열이 공유되는 경우에만 메모리를 할당합니다.

이 함수는 Qt 6.6에 도입되었습니다.

fill()도 참조하십시오 .

const QChar QString::at(qsizetype position) const

문자열의 지정된 인덱스 position 위치에 있는 문자를 반환합니다.

position 은 문자열에서 유효한 인덱스 위치여야 합니다(즉, 0 <= position < size()).

operator[]()도 참조하세요 .

QChar &QString::back()

문자열의 마지막 문자에 대한 참조를 반환합니다. operator[](size() - 1) 와 동일합니다.

이 함수는 STL 호환성을 위해 제공됩니다.

경고: 빈 문자열에서 이 함수를 호출하면 정의되지 않은 동작이 발생합니다.

front(), at() 및 operator[]()도 참조하세요 .

QChar QString::back() const

문자열의 마지막 문자를 반환합니다. at(size() - 1) 와 동일합니다.

이 함수는 STL 호환성을 위해 제공됩니다.

경고: 빈 문자열에서 이 함수를 호출하면 정의되지 않은 동작이 발생합니다.

front(), at() 및 operator[]()도 참조하세요 .

QString::iterator QString::begin()

문자열의 첫 번째 문자를 가리키는 STL 스타일 이터레이터를 반환합니다.

경고: 반환된 이터레이터는 분리되거나 QString 이 수정되면 무효화됩니다.

constBegin() 및 end()도 참조하세요 .

QString::const_iterator QString::begin() const

이 함수는 start()를 오버로드합니다.

qsizetype QString::capacity() const

강제 재할당 없이 문자열에 저장할 수 있는 최대 문자 수를 반환합니다.

이 함수의 유일한 목적은 QString 의 메모리 사용량을 미세 조정하는 수단을 제공하는 것입니다. 일반적으로 이 함수를 호출할 필요는 거의 없습니다. 문자열에 포함된 문자 수를 알고 싶다면 size()를 호출하세요.

참고: 정적으로 할당된 문자열은 비어 있지 않더라도 0의 용량을 보고합니다.

참고: 할당된 메모리 블록의 여유 공간 위치는 정의되지 않습니다. 즉, 여유 메모리가 항상 초기화된 요소 뒤에 위치한다고 가정해서는 안 됩니다.

reserve() 및 squeeze()도 참조하세요 .

QString::const_iterator QString::cbegin() const

문자열의 첫 번째 문자를 가리키는 상수 STL 스타일 이터레이터를 반환합니다.

경고: 반환된 이터레이터는 분리되거나 QString 이 수정되면 무효화됩니다.

begin() 및 cend()도 참조하세요 .

QString::const_iterator QString::cend() const

문자열의 마지막 문자 바로 뒤를 가리키는 상수 STL 스타일 이터레이터를 반환합니다.

경고: 반환된 이터레이터는 분리되거나 QString 이 수정되면 무효화됩니다.

cbegin() 및 end()도 참조하세요 .

void QString::chop(qsizetype n)

문자열 끝에서 n 문자를 제거합니다.

nsize()보다 크거나 같으면 결과는 빈 문자열이 되고, n 이 음수이면 0을 전달하는 것과 같습니다.

예시:

QString str("LOGOUT\r\n");
str.chop(2);
// str == "LOGOUT"

문자열의 시작 부분에서 문자를 제거하려면 remove()를 대신 사용합니다.

truncate(), resize(), remove() 및 QStringView::chop()도 참조하세요 .

void QString::clear()

문자열의 내용을 지우고 null로 만듭니다.

resize() 및 isNull()도 참조하세요 .

[static noexcept] int QString::compare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)

문자열 s1 을 문자열 s2 과 비교하여 s1s2 보다 작으면 음의 정수를, s2 보다 크면 양의 정수를, 같으면 0을 반환합니다.

csQt::CaseSensitive (기본값)인 경우 비교는 대소문자를 구분하며, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

대소문자를 구분하는 비교는 문자의 숫자 유니코드 값만을 기준으로 하며 매우 빠르지만 사람이 기대하는 것과는 다릅니다. localeAwareCompare ()를 사용하여 사용자에게 표시되는 문자열을 정렬하는 것을 고려해 보세요.

int x = QString::compare("aUtO", "AuTo", Qt::CaseInsensitive);  // x == 0
int y = QString::compare("auto", "Car", Qt::CaseSensitive);     // y > 0
int z = QString::compare("auto", "Car", Qt::CaseInsensitive);   // z < 0

참고: 이 함수는 널 문자열을 빈 문자열과 동일하게 취급하며, 자세한 내용은 Distinction Between Null and Empty Strings 을 참조하세요.

operator==(), operator<(), operator>() 및 Comparing Strings도 참조하세요 .

[noexcept] int QString::compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 함수는 compare()를 오버로드합니다.

대소문자 구분 설정 cs 을 사용하여 ch 과 비교를 수행합니다.

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

이 함수는 compare()를 오버로드합니다.

compare(*this, other, cs)와 동일합니다.

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

이 함수는 compare()를 오버로드합니다.

대소문자 구분 설정 cs 을 사용하여 s 과 비교를 수행합니다.

[noexcept] int QString::compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 함수는 compare()를 오버로드합니다.

이 문자열을 other 문자열과 렉서스로 비교하여 이 문자열이 other 보다 작으면 음의 정수를, other 보다 크면 양의 정수를, 같으면 0을 반환합니다.

compare(*this, other, cs)와 동일합니다.

[static noexcept] int QString::compare(QLatin1StringView s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 함수는 compare()를 오버로드합니다.

대소문자 구분 설정 cs 을 사용하여 s1s2 의 비교를 수행합니다.

[static noexcept] int QString::compare(QStringView s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 함수는 비교()를 오버로드합니다.

[static noexcept] int QString::compare(const QString &s1, QLatin1StringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 함수는 compare()를 오버로드합니다.

대소문자 구분 설정 cs 을 사용하여 s1s2 의 비교를 수행합니다.

[static noexcept] int QString::compare(const QString &s1, QStringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 함수는 비교()를 오버로드합니다.

QString::const_iterator QString::constBegin() const

문자열의 첫 번째 문자를 가리키는 상수 STL 스타일 이터레이터를 반환합니다.

경고: 반환된 이터레이터는 분리되거나 QString 이 수정되면 무효화됩니다.

begin() 및 constEnd()도 참조하세요 .

const QChar *QString::constData() const

QString 에 저장된 데이터에 대한 포인터를 반환합니다. 이 포인터는 문자열을 구성하는 문자에 액세스하는 데 사용할 수 있습니다.

포인터는 문자열이 수정되지 않는 동안에만 유효합니다.

참고: 반환된 문자열은 '\0'으로 끝나는 문자열이 아닐 수 있습니다. 배열의 길이를 확인하려면 size()를 사용합니다.

data(), operator[]() 및 fromRawData()도 참조하세요 .

QString::const_iterator QString::constEnd() const

문자열의 마지막 문자 바로 뒤를 가리키는 상수 STL 스타일 이터레이터를 반환합니다.

경고: 반환된 이터레이터는 분리되거나 QString 이 수정되면 무효화됩니다.

constBegin() 및 end()도 참조하세요 .

bool QString::contains(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const

정규식 re 이 이 문자열의 어딘가에 일치하면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

일치에 성공하고 rmatchnullptr 이 아닌 경우 rmatch 이 가리키는 QRegularExpressionMatch 객체에 일치 결과를 씁니다.

QRegularExpression::match()도 참조하세요 .

bool QString::contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 문자열에 str 문자열이 포함된 경우 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

csQt::CaseSensitive (기본값)이면 대소문자를 구분하여 검색하고, 그렇지 않으면 대소문자를 구분하지 않습니다.

예제:

QString str = "Peter Pan";
str.contains("peter", Qt::CaseInsensitive);    // returns true

indexOf() 및 count()도 참조하세요 .

bool QString::contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 함수는 contains()를 오버로드합니다.

문자열에 ch 문자가 포함되어 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

bool QString::contains(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 함수는 contains()를 오버로드합니다.

이 문자열에 라틴 1 문자열 str 이 포함되어 있으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

이 함수는 contains()를 오버로드합니다.

이 문자열에 str 보기 문자열이 포함되어 있으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

csQt::CaseSensitive (기본값)이면 대소문자를 구분하여 검색하고, 그렇지 않으면 대소문자를 구분하지 않습니다.

indexOf() 및 count()도 참조하세요 .

qsizetype QString::count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 문자열에서 str 문자열의 (중복될 수 있는) 발생 횟수를 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

contains() 및 indexOf()도 참조하세요 .

qsizetype QString::count(const QRegularExpression &re) const

이 함수는 count()를 오버로드합니다.

정규식 re 이 문자열에서 일치하는 횟수를 반환합니다.

기록상의 이유로 이 함수는 중복되는 일치 항목을 계산하므로 아래 예제에서는 "ana" 또는 "ama"의 인스턴스가 네 개 있습니다:

QString str = "banana and panama";
str.count(QRegularExpression("a[nm]a"));    // returns 4

이 동작은 QRegularExpressionMatchIterator 을 사용하여 단순히 문자열의 일치 항목을 반복하는 것과는 다릅니다.

QRegularExpression::globalMatch()도 참조하세요 .

qsizetype QString::count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 함수는 count()를 오버로드합니다.

문자열에서 ch 문자의 발생 횟수를 반환합니다.

csQt::CaseSensitive (기본값)이면 대소문자를 구분하여 검색하고, 그렇지 않으면 대소문자를 구분하지 않습니다.

contains() 및 indexOf()도 참조하세요 .

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

이 함수는 count()를 오버로드합니다.

이 문자열에서 str 문자열 보기의 (중복될 수 있는) 발생 횟수를 반환합니다.

csQt::CaseSensitive (기본값)이면 대소문자를 구분하여 검색하고, 그렇지 않으면 대소문자를 구분하지 않습니다.

이 함수는 Qt 6.0에 도입되었습니다.

contains() 및 indexOf()도 참조하세요 .

QString::const_reverse_iterator QString::crbegin() const

문자열의 첫 번째 문자를 역순으로 가리키는 상수 STL 스타일 역방향 이터레이터를 반환합니다.

경고: 반환된 이터레이터는 분리되거나 QString 가 수정되면 무효화됩니다.

begin(), rbegin() 및 rend()도 참조하세요 .

QString::const_reverse_iterator QString::crend() const

문자열의 마지막 문자 바로 뒤를 역순으로 가리키는 상수 STL 스타일 역이터레이터를 반환합니다.

경고: 반환된 이터레이터는 분리되거나 QString 가 수정되면 무효화됩니다.

end(), rend() 및 rbegin()도 참조하세요 .

QChar *QString::data()

QString 에 저장된 데이터에 대한 포인터를 반환합니다. 이 포인터는 문자열을 구성하는 문자에 액세스하고 수정하는 데 사용할 수 있습니다.

constData() 및 unicode()와 달리 반환되는 데이터는 항상 '\0'으로 끝납니다.

예시:

QString str = "Hello world";QChar *data = str.data();while (!data->isNull()) {    qDebug() << data->unicode();
   ++데이터; }

포인터는 문자열이 다른 방법으로 수정되지 않는 한 유효하게 유지된다는 점에 유의하세요. 읽기 전용 액세스의 경우 constData()가 더 빠른데, 이는 딥 카피가 발생하지 않기 때문입니다.

constData() 및 operator[]()도 참조하세요 .

const QChar *QString::data() const

이 함수는 오버로드된 함수입니다.

참고: 반환된 문자열은 '\0'으로 끝나지 않을 수 있습니다. 배열의 길이를 확인하려면 size()를 사용합니다.

fromRawData()도 참조하세요 .

QString::iterator QString::end()

문자열의 마지막 문자 바로 뒤를 가리키는 STL 스타일 이터레이터를 반환합니다.

경고: 반환된 이터레이터는 분리되거나 QString 이 수정되면 무효화됩니다.

begin() 및 constEnd()도 참조하세요 .

QString::const_iterator QString::end() const

이 함수는 end()를 오버로드합니다.

bool QString::endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

문자열이 s 으로 끝나면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

csQt::CaseSensitive (기본값)이면 대소문자를 구분하여 검색하고, 그렇지 않으면 대소문자를 구분하지 않습니다.

QString str = "Bananas";
str.endsWith("anas");         // returns true
str.endsWith("pple");         // returns false

startsWith()도 참조하세요 .

bool QString::endsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

문자열이 c 으로 끝나면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

이 함수는 endsWith()를 오버로드합니다.

bool QString::endsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 함수는 endWith()를 오버로드합니다.

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

이 함수는 endsWith()를 오버로드합니다.

문자열이 str 으로 끝나면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

csQt::CaseSensitive (기본값)이면 대소문자를 구분하여 검색하고, 그렇지 않으면 대소문자를 구분하지 않습니다.

startsWith()도 참조하세요 .

[since 6.1] QString::iterator QString::erase(QString::const_iterator first, QString::const_iterator last)

문자열에서 반쯤 열려 있는 범위의 문자[ first, last ]를 제거합니다. 마지막으로 지워진 문자 바로 뒤의 문자(즉, 지우기 전에 last 에서 참조한 문자)에 대한 이터레이터를 반환합니다.

이 함수는 Qt 6.1에 도입되었습니다.

[since 6.5] QString::iterator QString::erase(QString::const_iterator it)

이 함수는 오버로드된 함수입니다.

문자열에서 it 로 표시된 문자를 제거합니다. 지워진 문자 바로 뒤에 있는 문자에 대한 이터레이터를 반환합니다.

QString c = "abcdefg";
auto it = c.erase(c.cbegin()); // c is now "bcdefg"; "it" points to "b"

이 함수는 Qt 6.5에 도입되었습니다.

QString &QString::fill(QChar ch, qsizetype size = -1)

문자열의 모든 문자를 ch 문자로 설정합니다. size 이 -1(기본값)과 다른 경우 문자열의 크기가 size 으로 미리 조정됩니다.

예제:

QString str = "Berlin";
str.fill('z');
// str == "zzzzzz"

str.fill('A', 2);
// str == "AA"

resize()도 참조하세요 .

[static] QString QString::fromCFString(CFStringRef string)

string CFString의 복사본이 포함된 QString 을 새로 생성합니다.

참고: 이 함수는 macOS와 iOS에서만 사용할 수 있습니다.

[static, since 6.6] QString QString::fromEcmaString(emscripten::val jsString)

ECMAScript 문자열 jsStringQString 로 변환합니다. 제공된 파라미터가 문자열이 아닌 경우 동작이 정의되지 않습니다.

이 함수는 Qt 6.6에 도입되었습니다.

toEcmaString()도 참조하십시오 .

[static] QString QString::fromLatin1(const char *str, qsizetype size)

라틴-1 문자열 str 의 첫 size 문자로 초기화된 QString 을 반환합니다.

size-1 인 경우 strlen(str) 가 대신 사용됩니다.

toLatin1(), fromUtf8() 및 fromLocal8Bit()도 참조하세요 .

[static, since 6.0] QString QString::fromLatin1(QByteArrayView str)

이 함수는 오버로드된 함수입니다.

라틴-1 문자열 str 으로 초기화된 QString 을 반환합니다.

참고: : 바이트 배열의 모든 널('\0') 바이트는 이 문자열에 포함되며 유니코드 널 문자(U+0000)로 변환됩니다.

이 함수는 Qt 6.0에 도입되었습니다.

[static] QString QString::fromLatin1(const QByteArray &str)

이 함수는 오버로드된 함수입니다.

라틴-1 문자열 str 으로 초기화된 QString 을 반환합니다.

참고: : 바이트 배열의 모든 널('\0') 바이트는 이 문자열에 포함되며 유니코드 널 문자(U+0000)로 변환됩니다. 이 동작은 Qt 5.x와 다릅니다.

[static] QString QString::fromLocal8Bit(const char *str, qsizetype size)

8비트 문자열 str 의 첫 size 문자로 초기화된 QString 를 반환합니다.

size-1 인 경우 strlen(str) 가 대신 사용됩니다.

유닉스 시스템에서는 fromUtf8()에 해당합니다. Apple 시스템에서 이 함수는 NSString.defaultCStringEncoding 또는 CFStringGetSystemEncoding()을 고려하지 않습니다. 이 함수는 일반적으로 최신 Apple 운영 체제에서 사용해서는 안 되는 레거시 "Western(Mac OS Roman)" 인코딩을 반환하므로 이 함수는 고려하지 않습니다. Windows에서는 시스템의 현재 코드 페이지가 사용됩니다.

toLocal8Bit(), fromLatin1() 및 fromUtf8()도 참조하세요 .

[static, since 6.0] QString QString::fromLocal8Bit(QByteArrayView str)

이 함수는 오버로드된 함수입니다.

8비트 문자열 str 으로 초기화된 QString 을 반환합니다.

유닉스 시스템에서는 fromUtf8()에 해당합니다. Apple 시스템에서 이 함수는 NSString.defaultCStringEncoding 또는 CFStringGetSystemEncoding()을 고려하지 않습니다. 이 함수는 일반적으로 최신 Apple 운영 체제에서 사용해서는 안 되는 레거시 "Western(Mac OS Roman)" 인코딩을 반환하므로 이 함수는 고려하지 않습니다. Windows에서는 시스템의 현재 코드 페이지가 사용됩니다.

참고: : 바이트 배열의 모든 널('\0') 바이트는 이 문자열에 포함되며 유니코드 널 문자(U+0000)로 변환됩니다.

이 함수는 Qt 6.0에 도입되었습니다.

[static] QString QString::fromLocal8Bit(const QByteArray &str)

이 함수는 오버로드된 함수입니다.

8비트 문자열 str 으로 초기화된 QString 을 반환합니다.

유닉스 시스템에서는 fromUtf8()에 해당합니다. Apple 시스템에서 이 함수는 NSString.defaultCStringEncoding 또는 CFStringGetSystemEncoding()을 고려하지 않습니다. 이 함수는 일반적으로 최신 Apple 운영 체제에서 사용해서는 안 되는 레거시 "Western(Mac OS Roman)" 인코딩을 반환하므로 이 함수는 고려하지 않습니다. Windows에서는 시스템의 현재 코드 페이지가 사용됩니다.

참고: : 바이트 배열의 모든 널('\0') 바이트는 이 문자열에 포함되며 유니코드 널 문자(U+0000)로 변환됩니다. 이 동작은 Qt 5.x와 다릅니다.

[static] QString QString::fromNSString(const NSString *string)

string NSString의 복사본이 포함된 QString 을 새로 만듭니다.

참고: 이 함수는 macOS 및 iOS에서만 사용할 수 있습니다.

[static] QString QString::fromRawData(const QChar *unicode, qsizetype size)

배열의 첫 번째 size 유니코드 문자 unicode 를 사용하는 QString 를 작성합니다. unicode 의 데이터는 복사되지 않습니다. 호출자는 QString (또는 수정되지 않은 복사본)이 존재하는 한 unicode 이 삭제되거나 수정되지 않음을 보장할 수 있어야 합니다.

QString 또는 그 사본을 수정하려고 시도하면 데이터의 심층 복사본이 생성되어 원시 데이터가 수정되지 않도록 합니다.

다음은 데이터를 QString 으로 복사할 필요 없이 메모리에 있는 원시 데이터에 QRegularExpression 을 사용하는 방법의 예입니다:

QRegularExpression pattern("\u00A4");
static const QChar unicode[] = {
        0x005A, 0x007F, 0x00A4, 0x0060,
        0x1009, 0x0020, 0x0020};
qsizetype size = sizeof(unicode) / sizeof(QChar);

QString str = QString::fromRawData(unicode, size);
if (str.contains(pattern) {
    // ...
}

경고: 원시 데이터의 위치 size 에 '\0' 문자가 포함되지 않는 한, fromRawData()로 생성된 문자열은 '\0'으로 끝나는 문자열이 아닙니다. 즉, unicode()는 '\0'으로 끝나는 문자열을 반환하지 않습니다 ( utf16()은 원시 데이터를 복사하는 대가로 반환하지만).

fromUtf16() 및 setRawData()도 참조하세요 .

[static] QString QString::fromStdString(const std::string &str)

str 문자열의 복사본을 반환합니다. 주어진 문자열은 UTF-8로 인코딩된 것으로 가정하고 fromUtf8() 함수를 사용하여 QString 로 변환합니다.

fromLatin1(), fromLocal8Bit(), fromUtf8() 및 QByteArray::fromStdString()도 참조하세요 .

[static] QString QString::fromStdU16String(const std::u16string &str)

str 문자열의 복사본을 반환합니다. 주어진 문자열은 UTF-16으로 인코딩된 것으로 가정하고 fromUtf16() 함수를 사용하여 QString 로 변환합니다.

fromUtf16(), fromStdWString() 및 fromStdU32String()도 참조하세요 .

[static] QString QString::fromStdU32String(const std::u32string &str)

str 문자열의 복사본을 반환합니다. 주어진 문자열은 UTF-32로 인코딩된 것으로 가정하고 fromUcs4() 함수를 사용하여 QString 로 변환합니다.

fromUcs4(), fromStdWString() 및 fromStdU16String()도 참조하세요 .

[static] QString QString::fromStdWString(const std::wstring &str)

str 문자열의 복사본을 반환합니다. 주어진 문자열은 wchar_t의 크기가 2바이트인 경우(예: Windows) utf16으로 인코딩된 것으로 간주되며, wchar_t의 크기가 4바이트인 경우(대부분의 Unix 시스템) ucs4로 인코딩된 것으로 간주됩니다.

fromUtf16(), fromLatin1(), fromLocal8Bit(), fromUtf8(), fromUcs4(), fromStdU16String() 및 fromStdU32String()도 참조하세요 .

[static] QString QString::fromUcs4(const char32_t *unicode, qsizetype size = -1)

유니코드 문자열 unicode (UTF-32로 인코딩됨)의 첫 size 문자로 초기화된 QString 을 반환합니다.

size 가 -1(기본값)인 경우 unicode 은 \0'-끝나야 합니다.

toUcs4(), fromUtf16(), utf16(), setUtf16(), fromWCharArray() 및 fromStdU32String()도 참조하세요 .

[static] QString QString::fromUtf8(const char *str, qsizetype size)

UTF-8 문자열 str 의 첫 번째 size 바이트로 초기화된 QString 를 반환합니다.

size-1 인 경우 strlen(str) 가 대신 사용됩니다.

UTF-8은 유니코드 코덱이며 QString 과 같은 유니코드 문자열의 모든 문자를 표현할 수 있습니다. 그러나 UTF-8에서는 유효하지 않은 시퀀스가 발생할 수 있으며, 이러한 시퀀스가 발견되면 하나 이상의 "대체 문자"로 대체되거나 억제됩니다. 여기에는 유니코드가 아닌 시퀀스, 비문자, 지나치게 긴 시퀀스 또는 UTF-8로 인코딩된 대리 코드포인트가 포함됩니다.

이 함수는 수신 데이터 내에서 모든 UTF-8 문자가 종료되는 한 수신 데이터를 점진적으로 처리하는 데 사용할 수 있습니다. 문자열 끝에 있는 종료되지 않은 문자는 모두 대체되거나 억제됩니다. 스테이트풀 디코딩을 수행하려면 QStringDecoder 을 사용하세요.

toUtf8(), fromLatin1() 및 fromLocal8Bit()도 참조하세요 .

[static, since 6.0] QString QString::fromUtf8(QByteArrayView str)

이 함수는 오버로드된 함수입니다.

UTF-8 문자열 str 으로 초기화된 QString 을 반환합니다.

참고: : 바이트 배열의 모든 널('\0') 바이트는 이 문자열에 포함되며 유니코드 널 문자(U+0000)로 변환됩니다.

이 함수는 Qt 6.0에 도입되었습니다.

[static] QString QString::fromUtf8(const QByteArray &str)

이 함수는 오버로드된 함수입니다.

UTF-8 문자열 str 으로 초기화된 QString 을 반환합니다.

참고: : 바이트 배열의 모든 널('\0') 바이트는 이 문자열에 포함되며 유니코드 널 문자(U+0000)로 변환됩니다. 이 동작은 Qt 5.x와 다릅니다.

[static, since 6.1] QString QString::fromUtf8(const char8_t *str)

이 함수는 오버로드된 함수입니다.

이 오버로드는 C++20 모드에서 컴파일할 때만 사용할 수 있습니다.

이 함수는 Qt 6.1에 도입되었습니다.

[static, since 6.0] QString QString::fromUtf8(const char8_t *str, qsizetype size)

이 함수는 오버로드된 함수입니다.

이 오버로드는 C++20 모드에서 컴파일할 때만 사용할 수 있습니다.

이 함수는 Qt 6.0에 도입되었습니다.

[static] QString QString::fromUtf16(const char16_t *unicode, qsizetype size = -1)

유니코드 문자열 unicode (ISO-10646-UTF-16으로 인코딩됨)의 첫 size 문자로 초기화된 QString 을 반환합니다.

size 가 -1(기본값)인 경우 unicode 은 \0'으로 끝나야 합니다.

이 함수는 바이트 순서 표시(BOM)를 확인합니다. 누락된 경우 호스트 바이트 순서를 가정합니다.

이 함수는 다른 유니코드 변환에 비해 속도가 느립니다. 가능하면 QString(const QChar *, qsizetype) 또는 QString(const QChar *)를 사용하세요.

QString 유니코드 데이터의 딥 카피를 만듭니다.

utf16(), setUtf16() 및 fromStdU16String()도 참조하세요 .

[static] QString QString::fromWCharArray(const wchar_t *string, qsizetype size = -1)

시작 string 이 가리키는 wchar_t 배열의 첫 번째 size 코드 단위를 읽고 유니코드로 변환하여 결과를 QString 으로 반환합니다. wchar_t 에서 사용하는 인코딩은 유형 크기가 4바이트인 경우 UTF-32, 2바이트인 경우 UTF-16으로 가정합니다.

size 가 -1(기본값)인 경우 string 은 '\0'으로 끝나야 합니다.

fromUtf16(), fromLatin1(), fromLocal8Bit(), fromUtf8(), fromUcs4() 및 fromStdWString()도 참조하세요 .

QChar &QString::front()

문자열의 첫 번째 문자에 대한 참조를 반환합니다. operator[](0) 와 동일합니다.

이 함수는 STL 호환성을 위해 제공됩니다.

경고: 빈 문자열에서 이 함수를 호출하면 정의되지 않은 동작이 발생합니다.

back(), at() 및 operator[]()도 참조하세요 .

QChar QString::front() const

문자열의 첫 번째 문자를 반환합니다. at(0) 와 동일합니다.

이 함수는 STL 호환성을 위해 제공됩니다.

경고: 빈 문자열에서 이 함수를 호출하면 정의되지 않은 동작이 발생합니다.

back(), at() 및 operator[]()도 참조하세요 .

qsizetype QString::indexOf(QLatin1StringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 문자열에서 str 에서 본 라틴-1 문자열의 첫 번째 발생의 인덱스 위치를 반환하며, 인덱스 위치 from 에서 앞으로 검색합니다. str 을 찾을 수 없으면 -1을 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

예:

QString x = "sticky question";
QString y = "sti";
x.indexOf(y);               // returns 0
x.indexOf(y, 1);            // returns 10
x.indexOf(y, 10);           // returns 10
x.indexOf(y, 11);           // returns -1

from 가 -1이면 마지막 문자부터 검색이 시작되고, -2이면 그 다음 마지막 문자부터 검색이 시작됩니다.

lastIndexOf(), contains() 및 count()도 참조하세요 .

qsizetype QString::indexOf(const QRegularExpression &re, qsizetype from = 0, QRegularExpressionMatch *rmatch = nullptr) const

인덱스 위치 from 에서 앞으로 검색하여 문자열에서 정규식 re 의 첫 번째 일치하는 인덱스 위치를 반환합니다. re 이 일치하는 항목이 없으면 -1을 반환합니다.

일치에 성공하고 rmatchnullptr 이 아닌 경우 rmatch 이 가리키는 QRegularExpressionMatch 객체에 일치 결과를 씁니다.

예시:

QString str = "the minimum";
str.indexOf(QRegularExpression("m[aeiou]"), 0);       // returns 4

QString str = "the minimum";
QRegularExpressionMatch match;
str.indexOf(QRegularExpression("m[aeiou]"), 0, &match);       // returns 4
// match.captured() == mi

qsizetype QString::indexOf(const QString &str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

인덱스 위치 from 에서 앞으로 검색하여 이 문자열에서 str 문자열이 처음 나오는 인덱스 위치를 반환합니다. str 을 찾을 수 없으면 -1을 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

예:

QString x = "sticky question";
QString y = "sti";
x.indexOf(y);               // returns 0
x.indexOf(y, 1);            // returns 10
x.indexOf(y, 10);           // returns 10
x.indexOf(y, 11);           // returns -1

from 가 -1이면 마지막 문자부터 검색이 시작되고, -2이면 그 다음 마지막 문자부터 검색이 시작됩니다.

lastIndexOf(), contains() 및 count()도 참조하세요 .

qsizetype QString::indexOf(QChar ch, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 함수는 indexOf()를 오버로드합니다.

인덱스 위치 from 에서 앞으로 검색하여 이 문자열에서 ch 문자가 처음 나오는 인덱스 위치를 반환합니다. ch 을 찾을 수 없으면 -1을 반환합니다.

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

이 함수는 indexOf()를 오버로드합니다.

인덱스 위치 from 에서 앞으로 검색하여 이 문자열에서 문자열 보기 str 의 첫 번째 발생의 인덱스 위치를 반환합니다. str 을 찾을 수 없으면 -1을 반환합니다.

csQt::CaseSensitive (기본값)이면 대소문자를 구분하여 검색하고, 그렇지 않으면 대소문자를 구분하지 않습니다.

from 가 -1이면 마지막 문자부터 검색이 시작되고, -2이면 그 다음 마지막 문자부터 검색이 시작됩니다.

QStringView::indexOf(), lastIndexOf(), contains() 및 count()도 참조하세요 .

QString &QString::insert(qsizetype position, const QString &str)

지정된 인덱스 position 에 문자열 str 을 삽입하고 이 문자열에 대한 참조를 반환합니다.

예제:

QString str = "Meal";
str.insert(1, QString("ontr"));
// str == "Montreal"

이 문자열은 삽입에 맞게 늘어납니다. position 이 문자열 끝에 있는 경우 공백 문자가 추가되어 position 이 되고 그 뒤에 str 이 됩니다.

append(), prepend(), replace() 및 remove()도 참조하세요 .

QString &QString::insert(qsizetype position, QChar ch)

이 함수는 insert()를 오버로드합니다.

문자열의 지정된 인덱스 positionch 를 삽입합니다.

이 문자열은 삽입을 수용하기 위해 늘어납니다. position 이 문자열 끝을 넘어가면 공백 문자가 문자열에 추가되어 position 이 되고 그 뒤에 ch 이 됩니다.

QString &QString::insert(qsizetype position, QLatin1StringView str)

이 함수는 insert()를 오버로드합니다.

str 에서 보는 라틴어-1 문자열을 주어진 인덱스 position 에 삽입합니다.

이 문자열은 삽입을 수용하기 위해 늘어납니다. position 이 문자열의 끝을 넘어가면 공백 문자가 문자열에 추가되어 position 에 도달한 다음 str 이 됩니다.

[since 6.0] QString &QString::insert(qsizetype position, QStringView str)

이 함수는 insert()를 오버로드합니다.

지정된 인덱스 position 에 문자열 보기 str 를 삽입하고 이 문자열에 대한 참조를 반환합니다.

이 문자열은 삽입을 수용하기 위해 늘어납니다. position 이 문자열의 끝을 넘어가면 공백 문자가 문자열에 추가되어 position 에 도달한 다음 str 이 됩니다.

이 함수는 Qt 6.0에 도입되었습니다.

[since 6.5] QString &QString::insert(qsizetype position, QUtf8StringView str)

이 함수는 insert()를 오버로드합니다.

주어진 인덱스 position 에 UTF-8 문자열 뷰 str 를 삽입합니다.

참고: 가변 폭 UTF-8로 인코딩된 문자열 데이터를 삽입하는 것은 개념적으로 UTF-16(QStringView) 또는 Latin-1(QLatin1StringView)과 같은 고정 폭 문자열 데이터를 삽입하는 것보다 느리므로 신중하게 사용해야 합니다.

이 문자열은 삽입에 따라 길이가 늘어납니다. position 이 문자열의 끝을 넘어가면 공백 문자가 추가되어 position 이 되고 그 뒤에 str 이 됩니다.

이 함수는 Qt 6.5에 도입되었습니다.

QString &QString::insert(qsizetype position, const QByteArray &str)

이 함수는 insert()를 오버로드합니다.

str 의 내용을 UTF-8로 해석하고, 주어진 인덱스 position 에 인코딩된 유니코드 문자열을 삽입한 후 이 문자열에 대한 참조를 반환합니다.

이 문자열은 삽입을 수용하기 위해 커집니다. position 이 문자열의 끝을 넘어가면 공백 문자가 문자열에 추가되어 position 이 되고 그 뒤에 str 이 됩니다.

QT_NO_CAST_FROM_ASCII 이 정의된 경우에는 이 함수를 사용할 수 없습니다.

QString &QString::insert(qsizetype position, const char *str)

이 함수는 insert()를 오버로드합니다.

주어진 인덱스 position 에 C 문자열 str 을 삽입하고 이 문자열에 대한 참조를 반환합니다.

이 문자열은 삽입을 수용하기 위해 커집니다. position 이 문자열의 끝을 넘어가면 공백 문자가 문자열에 추가되어 position 에 도달한 다음 str 이 됩니다.

QT_NO_CAST_FROM_ASCII 이 정의된 경우에는 이 함수를 사용할 수 없습니다.

QString &QString::insert(qsizetype position, const QChar *unicode, qsizetype size)

이 함수는 insert()를 오버로드합니다.

QChar 배열 unicode 의 첫 번째 size 문자를 문자열의 지정된 인덱스 position 에 삽입합니다.

이 문자열은 삽입을 수용하기 위해 늘어납니다. position 이 문자열 끝을 넘어가면 공백 문자가 문자열에 추가되어 position 에 도달한 다음 QChar 배열의 size 문자가 unicode 에 도달합니다.

[noexcept] bool QString::isEmpty() const

문자열에 문자가 없는 경우 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

예제:

QString().isEmpty();            // returns true
QString("").isEmpty();          // returns true
QString("x").isEmpty();         // returns false
QString("abc").isEmpty();       // returns false

size()도 참조하세요 .

bool QString::isLower() const

문자열이 소문자인 경우, 즉 toLower() 접기와 동일한 경우 true 을 반환합니다.

그렇다고 해서 문자열에 대문자가 포함되어 있지 않다는 의미는 아닙니다 (일부 대문자는 소문자 접힘이 없으며 toLower()로 변경되지 않습니다). 자세한 내용은 유니코드 표준 3.13절을 참조하세요.

QChar::toLower() 및 isUpper()도 참조하세요 .

bool QString::isNull() const

이 문자열이 null이면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

예제:

QString().isNull();             // returns true
QString("").isNull();           // returns false
QString("abc").isNull();        // returns false

Qt는 역사적인 이유로 널 문자열과 빈 문자열을 구분합니다. 대부분의 애플리케이션에서 중요한 것은 문자열에 데이터가 포함되어 있는지 여부이며, 이는 isEmpty() 함수를 사용하여 확인할 수 있습니다.

isEmpty()도 참조하십시오 .

bool QString::isRightToLeft() const

문자열을 오른쪽에서 왼쪽으로 읽으면 true 을 반환합니다.

QStringView::isRightToLeft()도 참조하세요 .

bool QString::isUpper() const

문자열이 대문자인 경우, 즉 toUpper() 접기와 동일한 경우 true 을 반환합니다.

그렇다고 해서 문자열에 소문자가 포함되어 있지 않다는 의미는 아닙니다 (일부 소문자는 대문자로 접히지 않고 toUpper()로 변경되지 않음). 자세한 내용은 유니코드 표준 3.13절을 참조하세요.

QChar::toUpper() 및 isLower()도 참조하세요 .

[noexcept] bool QString::isValidUtf16() const

문자열에 유효한 UTF-16으로 인코딩된 데이터가 포함되어 있으면 true, 그렇지 않으면 false 을 반환합니다.

이 함수는 데이터에 대한 특별한 유효성 검사를 수행하지 않으며, 단지 UTF-16에서 성공적으로 디코딩할 수 있는지 여부만 확인합니다. 데이터는 호스트 바이트 순서로 가정되며 BOM의 존재 여부는 의미가 없습니다.

QStringView::isValidUtf16()도 참조하세요 .

qsizetype QString::lastIndexOf(const QRegularExpression &re, qsizetype from, QRegularExpressionMatch *rmatch = nullptr) const

문자열에서 정규식 re 의 마지막 일치 항목의 인덱스 위치(인덱스 위치 from 이전부터 시작)를 반환합니다.

from 이 -1이면 마지막 문자부터 검색이 시작되고, -2이면 그 다음 마지막 문자부터 검색이 시작됩니다.

re 이 일치하는 문자가 없으면 -1을 반환합니다.

일치에 성공하고 rmatchnullptr 이 아닌 경우 rmatch 이 가리키는 QRegularExpressionMatch 객체에 일치 결과를 씁니다.

예시:

QString str = "the minimum";
str.lastIndexOf(QRegularExpression("m[aeiou]"));      // returns 8

QString str = "the minimum";
QRegularExpressionMatch match;
str.lastIndexOf(QRegularExpression("m[aeiou]"), -1, &match);      // returns 8
// match.captured() == mu

참고: 정규식 일치 알고리즘의 작동 방식으로 인해 이 함수는 실제로 문자열의 시작 부분부터 from 위치에 도달할 때까지 반복적으로 일치시킵니다.

참고: 0자와 일치할 수 있는 정규식 re 을 검색할 때, 일반적으로 -1 은 문자열의 끝에서 검색하는 것으로 생각되지만, 데이터 끝의 일치 항목은 마지막 문자 뒤에 있으므로 검색에서 제외됩니다(음수 from). 이러한 마지막 빈 일치 항목을 포함하려면 from 에 양수 값을 지정하거나 from 매개변수를 완전히 생략하세요.

qsizetype QString::lastIndexOf(const QString &str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

인덱스 위치 from 에서 역방향으로 검색하여 이 문자열에서 str 이 마지막으로 발생한 문자열의 인덱스 위치를 반환합니다.

from 이 -1이면 마지막 문자부터 검색을 시작하고, -2이면 마지막 문자 다음부터 검색하는 식으로 검색합니다.

str 을 찾을 수 없으면 -1을 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

예:

QString x = "crazy azimuths";
QString y = "az";
x.lastIndexOf(y);           // returns 6
x.lastIndexOf(y, 6);        // returns 6
x.lastIndexOf(y, 5);        // returns 2
x.lastIndexOf(y, 1);        // returns -1

참고: 길이가 0인 str 을 검색할 때 데이터 끝에 있는 일치 항목은 음수 from 으로 검색에서 제외됩니다. -1 은 일반적으로 문자열 끝에서 검색하는 것으로 간주되지만, 끝에 있는 일치 항목은 마지막 문자 뒤에 있으므로 제외됩니다. 이러한 마지막 빈 일치 항목을 포함하려면 from 에 양수 값을 지정하거나 from 매개변수를 완전히 생략하세요.

indexOf(), contains() 및 count()도 참조하세요 .

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

이 함수는 lastIndexOf()를 오버로드합니다.

이 함수는 Qt 6.3에 도입되었습니다.

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

이 함수는 lastIndexOf()를 오버로드합니다.

이 문자열에서 str 문자열이 마지막으로 발생한 인덱스 위치를 반환합니다. str 을 찾을 수 없으면 -1을 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

예제:

QString x = "crazy azimuths";
QString y = "az";
x.lastIndexOf(y);           // returns 6
x.lastIndexOf(y, 6);        // returns 6
x.lastIndexOf(y, 5);        // returns 2
x.lastIndexOf(y, 1);        // returns -1

이 함수는 Qt 6.2에 도입되었습니다.

indexOf(), contains() 및 count()도 참조하세요 .

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

이 함수는 lastIndexOf()를 오버로드합니다.

이 문자열에서 str 보기가 마지막으로 발생한 문자열의 인덱스 위치를 반환합니다. str 을 찾을 수 없으면 -1을 반환합니다.

csQt::CaseSensitive (기본값)이면 대소문자를 구분하여 검색하고, 그렇지 않으면 대소문자를 구분하지 않습니다.

이 함수는 Qt 6.2에 도입되었습니다.

indexOf(), contains() 및 count()도 참조하세요 .

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

이 함수는 lastIndexOf()를 오버로드합니다.

문자열에서 re 정규식과 마지막으로 일치하는 인덱스 위치를 반환합니다. re 이 일치하지 않으면 -1을 반환합니다.

일치에 성공하고 rmatchnullptr 이 아닌 경우 rmatch 이 가리키는 QRegularExpressionMatch 객체에 일치 결과도 씁니다.

예시:

QString str = "the minimum";
str.lastIndexOf(QRegularExpression("m[aeiou]"));      // returns 8

QString str = "the minimum";
QRegularExpressionMatch match;
str.lastIndexOf(QRegularExpression("m[aeiou]"), -1, &match);      // returns 8
// match.captured() == mu

참고: 정규식 일치 알고리즘의 작동 방식으로 인해 이 함수는 실제로 문자열의 시작부터 문자열의 끝에 도달할 때까지 반복적으로 일치합니다.

이 함수는 Qt 6.2에 도입되었습니다.

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

이 함수는 lastIndexOf()를 오버로드합니다.

이 문자열에서 str 문자열이 마지막으로 발생한 인덱스 위치를 반환합니다. str 을 찾을 수 없으면 -1을 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

예제:

QString x = "crazy azimuths";
QString y = "az";
x.lastIndexOf(y);           // returns 6
x.lastIndexOf(y, 6);        // returns 6
x.lastIndexOf(y, 5);        // returns 2
x.lastIndexOf(y, 1);        // returns -1

이 함수는 Qt 6.2에 도입되었습니다.

indexOf(), contains() 및 count()도 참조하세요 .

qsizetype QString::lastIndexOf(QChar ch, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 함수는 lastIndexOf()를 오버로드합니다.

인덱스 위치 from 에서 역방향으로 검색하여 이 문자열에서 ch 문자가 마지막으로 발생한 인덱스 위치를 반환합니다.

qsizetype QString::lastIndexOf(QLatin1StringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 함수는 lastIndexOf()를 오버로드합니다.

이 문자열에서 str 에서 마지막으로 본 라틴-1 문자열의 인덱스 위치를 반환하며, 인덱스 위치 from 에서 역방향으로 검색합니다.

from 가 -1이면 마지막 문자에서 검색을 시작하고, -2이면 마지막 문자 다음에서 검색하는 식으로 검색합니다.

str 을 찾을 수 없으면 -1을 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

예:

QString x = "crazy azimuths";
QString y = "az";
x.lastIndexOf(y);           // returns 6
x.lastIndexOf(y, 6);        // returns 6
x.lastIndexOf(y, 5);        // returns 2
x.lastIndexOf(y, 1);        // returns -1

참고: 길이가 0인 str 을 검색할 때 데이터 끝에 있는 일치 항목은 음수 from 으로 검색에서 제외됩니다. -1 은 일반적으로 문자열 끝에서 검색하는 것으로 간주되지만, 끝에 있는 일치 항목은 마지막 문자 뒤에 있으므로 제외됩니다. 이러한 마지막 빈 일치 항목을 포함하려면 from 에 양수 값을 지정하거나 from 매개변수를 완전히 생략하세요.

indexOf(), contains() 및 count()도 참조하세요 .

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

이 함수는 lastIndexOf()를 오버로드합니다.

인덱스 위치 from 에서 역방향으로 검색하여 이 문자열에서 str 보기의 마지막 발생의 인덱스 위치를 반환합니다.

from 이 -1이면 마지막 문자에서 검색을 시작하고, -2이면 마지막 문자 다음에서 검색하는 식으로 검색합니다.

str 을 찾을 수 없으면 -1을 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

참고: 길이가 0인 str 을 검색할 때 데이터 끝에 있는 일치 항목은 음수 from 으로 검색에서 제외됩니다. -1 은 일반적으로 문자열 끝에서 검색하는 것으로 간주되지만, 마지막 문자가 뒤에 있는 일치 항목은 제외됩니다. 이러한 마지막 빈 일치 항목을 포함하려면 from 에 양수 값을 지정하거나 from 매개변수를 완전히 생략하세요.

indexOf(), contains() 및 count()도 참조하세요 .

QString QString::leftJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const

fill 문자로 패딩된 이 문자열이 포함된 width 크기의 문자열을 반환합니다.

truncatefalse 이고 문자열의 size()가 width 보다 큰 경우 반환되는 문자열은 문자열의 복사본입니다.

QString s = "apple";
QString t = s.leftJustified(8, '.');    // t == "apple..."

truncatetrue 이고 문자열의 size()가 width 보다 큰 경우 위치 width 이후의 문자열 복사본에 있는 모든 문자가 제거되고 복사본이 반환됩니다.

QString str = "Pineapple";
str = str.leftJustified(5, '.', true);    // str == "Pinea"

rightJustified()도 참조하세요 .

[noexcept] qsizetype QString::length() const

이 문자열의 문자 수를 반환합니다. size ()와 동일합니다.

resize()도 참조하세요 .

[static] int QString::localeAwareCompare(const QString &s1, const QString &s2)

s1s2 을 비교하여 s1s2 보다 작거나 같거나 크면 0보다 작거나 같거나 큰 정수를 반환합니다.

비교는 로캘 및 플랫폼에 따라 달라집니다. 이 함수를 사용하여 사용자에게 정렬된 문자열 목록을 표시합니다.

compare(), QLocale, Comparing Strings참조하세요 .

[since 6.0] int QString::localeAwareCompare(QStringView other) const

이 함수는 localeAwareCompare()를 오버로드합니다.

이 문자열과 other 문자열을 비교하여 이 문자열이 other 문자열보다 작거나 같거나 큰 경우 0보다 작거나 같거나 큰 정수를 반환합니다.

비교는 로캘 및 플랫폼에 따라 달라집니다. 이 함수를 사용하여 사용자에게 정렬된 문자열 목록을 표시합니다.

localeAwareCompare(*this, other) 와 동일합니다.

이 함수는 Qt 6.0에 도입되었습니다.

Comparing Strings도 참조하십시오 .

int QString::localeAwareCompare(const QString &other) const

이 함수는 localeAwareCompare()를 오버로드합니다.

이 문자열과 other 문자열을 비교하여 이 문자열이 other 문자열보다 작거나 같거나 큰 경우 0보다 작거나 같거나 큰 정수를 반환합니다.

비교는 로캘 및 플랫폼에 따라 달라집니다. 이 함수를 사용하여 사용자에게 정렬된 문자열 목록을 표시합니다.

localeAwareCompare(*this, other) 와 동일합니다.

Comparing Strings도 참조하세요 .

[static, since 6.0] int QString::localeAwareCompare(QStringView s1, QStringView s2)

이 함수는 localeAwareCompare()를 오버로드합니다.

s1s2 을 비교하여 s1s2 보다 작거나 같거나 크면 0보다 작거나 같거나 큰 정수를 반환하고, 이 보다 크면 0보다 작거나 같거나 큰 정수를 반환합니다.

비교는 로캘 및 플랫폼에 따라 달라집니다. 이 함수를 사용하여 사용자에게 정렬된 문자열 목록을 표시합니다.

이 함수는 Qt 6.0에 도입되었습니다.

Comparing Strings참조하세요 .

QString QString::normalized(QString::NormalizationForm mode, QChar::UnicodeVersion version = QChar::Unicode_Unassigned) const

유니코드 표준의 주어진 version 에 따라 주어진 유니코드 정규화 mode 로 문자열을 반환합니다.

[static] QString QString::number(long n, int base = 10)

지정된 base 에 따라 숫자 n 에 해당하는 문자열을 반환합니다.

기본값은 10이며 2에서 36 사이여야 합니다. 10 이외의 기저의 경우 n 는 부호 없는 정수로 처리됩니다.

서식은 항상 QLocale::C, 즉 영어/미국식을 사용합니다. 숫자의 지역화된 문자열 표현을 얻으려면 적절한 로캘과 함께 QLocale::toString()를 사용합니다.

long a = 63;
QString s = QString::number(a, 16);             // s == "3f"
QString t = QString::number(a, 16).toUpper();     // t == "3F"

setNum()도 참조하세요 .

[static] QString QString::number(double n, char format = 'g', int precision = 6)

부동 소수점 숫자를 나타내는 문자열을 반환합니다 n.

지정된 formatprecision 에 따라 포맷된 n 을 나타내는 문자열을 반환합니다.

지수가 포함된 형식의 경우, 지수는 부호를 표시하고 최소 두 자리 숫자를 가지며 필요한 경우 0으로 왼쪽에 지수를 추가합니다.

setNum(), QLocale::toString(), QLocale::FloatingPointPrecisionOption, 및 Number Formats도 참조하세요 .

[static] QString QString::number(int n, int base = 10)

과부하가 걸린 기능입니다.

[static] QString QString::number(qlonglong n, int base = 10)

과부하가 걸린 기능입니다.

[static] QString QString::number(qulonglong n, int base = 10)

과부하가 걸린 기능입니다.

[static] QString QString::number(uint n, int base = 10)

과부하가 걸린 기능입니다.

[static] QString QString::number(ulong n, int base = 10)

과부하가 걸린 기능입니다.

QString &QString::prepend(const QString &str)

str 문자열을 이 문자열의 시작 부분에 추가하고 이 문자열에 대한 참조를 반환합니다.

이 작업은 일반적으로 매우 빠릅니다(일정한 시간). QString 문자열 데이터의 시작 부분에 추가 공간을 미리 할당하므로 매번 전체 문자열을 재할당하지 않고도 늘릴 수 있기 때문입니다.

예시:

QString x = "ship";
QString y = "air";
x.prepend(y);
// x == "airship"

append() 및 insert()도 참조하세요 .

QString &QString::prepend(QChar ch)

이 함수는 prepend()를 오버로드합니다.

이 문자열에 ch 문자를 추가합니다.

QString &QString::prepend(QLatin1StringView str)

이 함수는 prepend()를 오버로드합니다.

str 에서 본 라틴어-1 문자열을 이 문자열에 추가합니다.

[since 6.0] QString &QString::prepend(QStringView str)

이 함수는 prepend()를 오버로드합니다.

문자열 보기 str 를 이 문자열의 시작 부분에 추가하고 이 문자열에 대한 참조를 반환합니다.

이 함수는 Qt 6.0에 도입되었습니다.

[since 6.5] QString &QString::prepend(QUtf8StringView str)

이 함수는 prepend()를 오버로드합니다.

UTF-8 문자열 보기 str 를 이 문자열에 추가합니다.

이 함수는 Qt 6.5에 도입되었습니다.

QString &QString::prepend(const QByteArray &ba)

이 함수는 prepend()를 오버로드합니다.

이 문자열에 바이트 배열 ba 을 추가합니다. 바이트 배열은 fromUtf8() 함수를 사용하여 유니코드로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 함수를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

QString &QString::prepend(const char *str)

이 함수는 prepend()를 오버로드합니다.

str 문자열을 이 문자열에 추가합니다. const 문자 포인터는 fromUtf8() 함수를 사용하여 유니코드로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 함수를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

QString &QString::prepend(const QChar *str, qsizetype len)

이 함수는 prepend()를 오버로드합니다.

QChar 배열 strlen 문자를 이 문자열에 추가하고 이 문자열에 대한 참조를 반환합니다.

void QString::push_back(const QString &other)

이 함수는 STL 호환성을 위해 제공되며, 이 문자열 끝에 지정된 other 문자열을 추가합니다. append(other) 와 동일합니다.

append()도 참조하세요 .

void QString::push_back(QChar ch)

이 함수는 오버로드된 함수입니다.

이 문자열 끝에 지정된 ch 문자를 추가합니다.

void QString::push_front(const QString &other)

이 함수는 STL 호환성을 위해 제공되며, 지정된 other 문자열을 이 문자열의 시작 부분에 추가합니다. prepend(other) 와 동일합니다.

prepend()도 참조하세요 .

void QString::push_front(QChar ch)

이 함수는 오버로드된 함수입니다.

이 문자열의 시작 부분에 지정된 ch 문자를 추가합니다.

QString::reverse_iterator QString::rbegin()

문자열의 첫 번째 문자를 역순으로 가리키는 STL 스타일의 역이터레이터를 반환합니다.

경고: 반환된 이터레이터는 분리되거나 QString 이 수정되면 무효화됩니다.

begin(), crbegin() 및 rend()도 참조하세요 .

QString::const_reverse_iterator QString::rbegin() const

과부하가 걸린 기능입니다.

QString &QString::remove(const QRegularExpression &re)

문자열에서 정규식 re 의 모든 항목을 제거하고 문자열에 대한 참조를 반환합니다. 예를 들어

QString r = "Telephone";
r.remove(QRegularExpression("[aeiou]."));
// r == "The"

요소 제거는 문자열의 용량을 유지하며 할당된 메모리의 양을 줄이지 않습니다. 추가 용량을 줄이고 최대한 많은 메모리를 확보하려면 문자열의 크기를 마지막으로 변경한 후 squeeze()를 호출하세요.

indexOf(), lastIndexOf() 및 replace()도 참조하세요 .

QString &QString::remove(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 문자열에서 ch 문자가 포함된 모든 항목을 제거하고 이 문자열에 대한 참조를 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

예:

QString t = "Ali Baba";
t.remove(QChar('a'), Qt::CaseInsensitive);
// t == "li Bb"

replace(ch, "", cs) 와 동일합니다.

요소를 제거해도 문자열의 용량은 그대로 유지되며 할당된 메모리의 양은 줄어들지 않습니다. 추가 용량을 없애고 최대한 많은 메모리를 확보하려면 문자열 크기를 마지막으로 변경한 후 squeeze()를 호출하세요.

replace()도 참조하세요 .

QString &QString::remove(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 문자열에서 지정된 str 문자열의 모든 항목을 제거하고 이 문자열에 대한 참조를 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

이는 replace(str, "", cs) 와 동일합니다.

요소를 제거해도 문자열의 용량은 유지되며 할당된 메모리의 양은 줄어들지 않습니다. 추가 용량을 줄이고 최대한 많은 메모리를 확보하려면 문자열의 크기를 마지막으로 변경한 후 squeeze()를 호출하세요.

replace()도 참조하세요 .

QString &QString::remove(qsizetype position, qsizetype n)

지정된 position 인덱스부터 시작하여 문자열에서 n 문자를 제거하고 문자열에 대한 참조를 반환합니다.

지정된 position 인덱스가 문자열 내에 있지만 position + n 이 문자열 끝을 벗어난 경우 문자열은 지정된 position 에서 잘립니다.

n 이 <= 0이면 아무것도 변경되지 않습니다.

QString s = "Montreal";
s.remove(1, 4);
// s == "Meal"

요소를 제거해도 문자열의 용량은 그대로 유지되며 할당된 메모리의 양은 줄어들지 않습니다. 추가 용량을 줄이고 최대한 많은 메모리를 확보하려면 문자열의 크기를 마지막으로 변경한 후 squeeze()를 호출하세요.

insert() 및 replace()도 참조하세요 .

QString &QString::remove(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 함수는 오버로드된 함수입니다.

str 에서 조회한 지정된 라틴-1 문자열의 모든 항목을 이 문자열에서 제거하고 이 문자열에 대한 참조를 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

이는 replace(str, "", cs) 와 동일합니다.

요소를 제거해도 문자열의 용량은 유지되며 할당된 메모리의 양은 줄어들지 않습니다. 추가 용량을 줄이고 최대한 많은 메모리를 확보하려면 문자열의 크기를 마지막으로 변경한 후 squeeze()를 호출하세요.

replace()도 참조하세요 .

[since 6.5] QString &QString::removeAt(qsizetype pos)

인덱스에서 문자를 제거합니다 pos. pos 이 범위를 벗어난 경우(예: pos >= size()), 이 함수는 아무 일도 하지 않습니다.

이 함수는 Qt 6.5에 도입되었습니다.

remove()도 참조하십시오 .

[since 6.5] QString &QString::removeFirst()

이 문자열의 첫 번째 문자를 제거합니다. 문자열이 비어 있으면 이 함수는 아무 작업도 수행하지 않습니다.

이 함수는 Qt 6.5에 도입되었습니다.

remove()도 참조하십시오 .

[since 6.1] template <typename Predicate> QString &QString::removeIf(Predicate pred)

pred 술어가 참을 반환하는 모든 요소를 문자열에서 제거합니다. 문자열에 대한 참조를 반환합니다.

이 함수는 Qt 6.1에 도입되었습니다.

remove()도 참조하십시오 .

[since 6.5] QString &QString::removeLast()

이 문자열의 마지막 문자를 제거합니다. 문자열이 비어 있으면 이 함수는 아무 작업도 수행하지 않습니다.

이 함수는 Qt 6.5에 도입되었습니다.

remove()도 참조하십시오 .

QString::reverse_iterator QString::rend()

문자열의 마지막 문자 바로 뒤를 역순으로 가리키는 STL 스타일의 역방향 이터레이터를 반환합니다.

경고: 반환된 이터레이터는 분리되거나 QString 이 수정되면 무효화됩니다.

end(), crend() 및 rbegin()도 참조하세요 .

QString::const_reverse_iterator QString::rend() const

과부하가 걸린 기능입니다.

QString QString::repeated(qsizetype times) const

지정된 수만큼 반복되는 이 문자열의 사본 times 을 반환합니다.

times 이 1보다 작으면 빈 문자열이 반환됩니다.

예제:

QString str("ab");
str.repeated(4);            // returns "abababab"

QString &QString::replace(qsizetype position, qsizetype n, const QString &after)

position 인덱스에서 시작하는 n 문자를 after 문자열로 바꾸고 이 문자열에 대한 참조를 반환합니다.

참고: 지정된 position 인덱스가 문자열 내에 있지만 position + n 가 문자열 범위를 벗어나는 경우 n 는 문자열 끝에서 멈추도록 조정됩니다.

예시:

QString x = "Say yes!";
QString y = "no";
x.replace(4, 3, y);
// x == "Say no!"

insert() 및 remove()도 참조하세요 .

QString &QString::replace(const QRegularExpression &re, const QString &after)

이 함수는 replace()를 오버로드합니다.

문자열에서 정규식 re 의 모든 항목을 after 으로 바꿉니다. 문자열에 대한 참조를 반환합니다. 예를 들어

QString s = "Banana";
s.replace(QRegularExpression("a[mn]"), "ox");
// s == "Boxoxa"

캡처 그룹이 포함된 정규식의 경우 after 에서 \1, \2, ..., 이 있는 경우 해당 캡처 그룹에 의해 캡처된 문자열로 바뀝니다.

QString t = "A <i>bon mot</i>.";
t.replace(QRegularExpression("<i>([^<]*)</i>"), "\\emph{\\1}");
// t == "A \\emph{bon mot}."

indexOf(), lastIndexOf(), remove(), QRegularExpression, 및 QRegularExpressionMatch도 참조하세요 .

QString &QString::replace(QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 함수는 replace()를 오버로드합니다.

before 문자의 모든 항목을 after 문자로 바꾸고 이 문자열에 대한 참조를 반환합니다.

csQt::CaseSensitive (기본값)이면 대소문자를 구분하여 검색하고, 그렇지 않으면 대소문자를 구분하지 않습니다.

QString &QString::replace(QChar c, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 함수는 replace()를 오버로드합니다.

c 문자의 모든 항목을 after 문자열로 바꾸고 이 문자열에 대한 참조를 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

참고: 대체 후에는 텍스트가 다시 검색되지 않습니다.

QString &QString::replace(QChar ch, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 함수는 replace()를 오버로드합니다.

문자열에 있는 모든 ch 문자를 after 으로 바꾸고 이 문자열에 대한 참조를 반환합니다.

csQt::CaseSensitive (기본값)이면 대소문자를 구분하여 검색하고, 그렇지 않으면 대소문자를 구분하지 않고 검색합니다.

QString &QString::replace(QLatin1StringView before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 함수는 replace()를 오버로드합니다.

before 에서 보는 라틴-1 문자열의 이 문자열에 있는 모든 항목을 after 에서 보는 라틴-1 문자열로 바꾸고 이 문자열에 대한 참조를 반환합니다.

csQt::CaseSensitive (기본값)인 경우 검색은 대소문자를 구분하며, 그렇지 않으면 대소문자를 구분하지 않습니다.

참고: 텍스트는 교체 후 다시 검색되지 않습니다.

참고: before 인수를 사용하는 경우 after 인수가 문자열의 각 문자 앞뒤에 삽입됩니다.

QString &QString::replace(QLatin1StringView before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 함수는 replace()를 오버로드합니다.

before 에서 조회한 라틴-1 문자열의 이 문자열에 있는 모든 항목을 after 문자열로 바꾸고 이 문자열에 대한 참조를 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

참고: 텍스트는 교체 후 다시 검색되지 않습니다.

참고: before 인수를 사용하는 경우 after 인수가 문자열의 각 문자 앞뒤에 삽입됩니다.

QString &QString::replace(const QString &before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 함수는 replace()를 오버로드합니다.

before 문자열의 모든 항목을 after 문자열로 바꾸고 이 문자열에 대한 참조를 반환합니다.

csQt::CaseSensitive (기본값)인 경우 대소문자를 구분하여 검색하고, 그렇지 않은 경우 대소문자를 구분하지 않습니다.

참고: 텍스트는 교체 후 다시 검색되지 않습니다.

참고: before 인수를 사용하는 경우, after 인수가 문자열의 각 문자 앞뒤에 삽입됩니다.

QString &QString::replace(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 함수는 replace()를 오버로드합니다.

before 문자열의 모든 항목을 after 문자열로 바꾸고 이 문자열에 대한 참조를 반환합니다.

csQt::CaseSensitive (기본값)이면 대소문자를 구분하여 검색하고, 그렇지 않으면 대소문자를 구분하지 않습니다.

예:

QString str = "colour behaviour flavour neighbour";
str.replace(QString("ou"), QString("o"));
// str == "color behavior flavor neighbor"

참고: 대체 텍스트는 삽입된 후에는 다시 검색되지 않습니다.

예: 예:

QString equis = "xxxxxx";
equis.replace("xx", "x");
// equis == "xxx"

참고: before 인수를 사용하는 경우 after 인수가 문자열의 각 문자 앞뒤에 삽입됩니다.

QString &QString::replace(qsizetype position, qsizetype n, QChar after)

이 함수는 replace()를 오버로드합니다.

인덱스 position 에서 시작하는 n 문자를 after 문자로 바꾸고 이 문자열에 대한 참조를 반환합니다.

QString &QString::replace(qsizetype position, qsizetype n, const QChar *after, qsizetype alen)

이 함수는 replace()를 오버로드합니다.

인덱스 position 에서 시작하는 n 문자를 QChar 배열 after 의 첫 alen 문자로 바꾸고 이 문자열에 대한 참조를 반환합니다.

QString &QString::replace(const QChar *before, qsizetype blen, const QChar *after, qsizetype alen, Qt::CaseSensitivity cs = Qt::CaseSensitive)

이 함수는 replace()를 오버로드합니다.

이 문자열에서 before 의 첫 번째 blen 문자를 alen 의 첫 번째 after 문자로 바꾸고 이 문자열에 대한 참조를 반환합니다.

csQt::CaseSensitive (기본값)인 경우 검색은 대소문자를 구분하며, 그렇지 않으면 대소문자를 구분하지 않습니다.

참고: before 문자열을 가리키는 경우(즉, blen == 0) after 가 가리키는 문자열이 이 문자열의 각 문자 앞뒤에 삽입됩니다.

void QString::reserve(qsizetype size)

문자열에 최소 size 문자를 위한 공백이 있는지 확인합니다.

문자열의 크기를 미리 알고 있는 경우 이 함수를 호출하면 문자열을 작성하는 동안 반복되는 재할당을 줄일 수 있습니다. 이렇게 하면 문자열을 점진적으로 빌드할 때 성능이 향상될 수 있습니다. 문자열에 추가하는 긴 작업 시퀀스는 여러 번의 재할당을 유발할 수 있으며, 마지막 작업으로 인해 필요한 것보다 훨씬 많은 공간이 남을 수 있습니다. 이는 처음부터 적절한 크기의 공간을 한 번에 할당하는 것보다 효율성이 떨어집니다.

얼마나 많은 공간이 필요한지 확실하지 않은 경우 일반적으로 size 과 같은 상한을 사용하는 것이 좋으며, 엄격한 상한이 이보다 훨씬 클 경우 가장 가능성이 높은 예상 크기를 사용하는 것이 좋습니다. size 이 과소 추정치인 경우 예약된 크기가 초과되면 문자열이 필요에 따라 커지므로 최상의 과대 추정치보다 더 큰 할당을 초래할 수 있으며 이를 트리거하는 작업이 느려질 수 있습니다.

경고: reserve()는 메모리를 예약하지만 문자열의 크기는 변경하지 않습니다. 문자열의 끝을 넘어 데이터에 액세스하는 것은 정의되지 않은 동작입니다. 문자열의 현재 끝을 넘어 메모리에 액세스해야 하는 경우 resize()를 사용하세요.

이 함수는 긴 문자열을 작성해야 하고 반복적인 재할당을 피하려는 코드에 유용합니다. 이 예제에서는 true 까지 문자열에 추가하고 싶고, 그 크기가 reserve()를 호출할 가치가 있을 만큼 충분히 크다고 확신합니다:

QString result;
qsizetype maxSize;
bool condition;
QChar nextChar;

result.reserve(maxSize);

while (condition)
    result.append(nextChar);

result.squeeze();

squeeze(), capacity() 및 resize()도 참조하세요 .

void QString::resize(qsizetype size)

문자열의 크기를 size 문자로 설정합니다.

size 이 현재 크기보다 크면 문자열이 확장되어 size 문자로 길어지고 끝에 추가 문자가 추가됩니다. 새 문자는 초기화되지 않습니다.

size 이 현재 크기보다 작으면 size 위치 이후의 문자는 문자열에서 제외됩니다.

참고: resize()는 필요한 경우 용량을 늘리지만 용량을 줄이지는 않습니다. 초과 용량을 줄이려면 squeeze()를 사용합니다.

예시:

QString s = "Hello world";
s.resize(5);
// s == "Hello"

s.resize(8);
// s == "Hello???" (where ? stands for any character)

문자열에 특정 수의 동일한 문자를 추가하려면 resize(qsizetype, QChar) 오버로드를 사용합니다.

특정 너비에 도달하도록 문자열을 확장하고 새 위치를 특정 문자로 채우려면 leftJustified() 함수를 사용합니다:

size 이 음수이면 0을 전달하는 것과 같습니다.

QString r = "Hello";
r = r.leftJustified(10, ' ');
// r == "Hello     "

truncate(), reserve() 및 squeeze()도 참조하세요 .

void QString::resize(qsizetype newSize, QChar fillChar)

이것은 오버로드된 함수입니다.

resize(qsizetype)과 달리 이 오버로드는 새 문자를 fillChar 으로 초기화합니다:

QString t = "Hello";
r.resize(t.size() + 10, 'X');
// t == "HelloXXXXXXXXXX"

[since 6.8] void QString::resizeForOverwrite(qsizetype size)

문자열의 크기를 size 문자로 설정합니다. 문자열의 크기가 커지면 새 문자는 초기화되지 않습니다.

동작은 resize(size) 와 동일합니다.

이 함수는 Qt 6.8에 도입되었습니다.

resize()도 참조하십시오 .

QString QString::rightJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const

fill 문자 뒤에 문자열이 포함된 size() width 문자열을 반환합니다. 예를 들어

QString s = "apple";
QString t = s.rightJustified(8, '.');    // t == "...apple"

truncatefalse 이고 문자열의 size()가 width 보다 큰 경우 반환되는 문자열은 문자열의 복사본입니다.

truncate 이 참이고 문자열의 size()이 width 보다 크면 결과 문자열은 width 위치에서 잘립니다.

QString str = "Pineapple";
str = str.rightJustified(5, '.', true);    // str == "Pinea"

leftJustified()도 참조하세요 .

QString QString::section(QChar sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const

이 함수는 문자열의 섹션을 반환합니다.

이 문자열은 sep 문자로 구분된 필드 시퀀스로 취급됩니다. 반환되는 문자열은 start 위치부터 end 위치까지의 필드로 구성됩니다. end 을 지정하지 않으면 start 위치부터 문자열 끝까지의 모든 필드가 포함됩니다. 필드의 번호는 0, 1, 2 등으로 왼쪽부터 카운트하고 -1, -2 등으로 오른쪽에서 왼쪽으로 카운트합니다.

flags 인수는 대소문자 구분 여부, 빈 필드 건너뛰기 여부, 선행 및 후행 구분 기호 처리 방법 등 함수 동작의 일부 측면에 영향을 주는 데 사용할 수 있습니다( SectionFlags 참조).

QString str;
QString csv = "forename,middlename,surname,phone";
QString path = "/usr/local/bin/myapp"; // First field is empty
QString::SectionFlag flag = QString::SectionSkipEmpty;

str = csv.section(',', 2, 2);   // str == "surname"
str = path.section('/', 3, 4);  // str == "bin/myapp"
str = path.section('/', 3, 3, flag); // str == "myapp"

start 또는 end 이 음수인 경우 문자열의 오른쪽부터 필드를 계산하여 가장 오른쪽 필드는 -1, 가장 오른쪽 필드에서 가장 왼쪽 필드는 -2 등의 방식으로 계산합니다.

str = csv.section(',', -3, -2);  // str == "middlename,surname"
str = path.section('/', -1); // str == "myapp"

split()도 참조하세요 .

QString QString::section(const QRegularExpression &re, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const

이 함수는 section()을 오버로드합니다.

이 문자열은 정규식 re 으로 구분된 필드 시퀀스로 취급됩니다.

QString line = "forename\tmiddlename  surname \t \t phone";
QRegularExpression sep("\\s+");
str = line.section(sep, 2, 2); // str == "surname"
str = line.section(sep, -3, -2); // str == "middlename  surname"

경고: QRegularExpression 버전을 사용하면 오버로드된 문자열 및 문자 버전보다 훨씬 더 비쌉니다.

split() 및 simplified()도 참조하세요 .

QString QString::section(const QString &sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const

이 함수는 section()을 오버로드합니다.

QString str;
QString data = "forename**middlename**surname**phone";

str = data.section("**", 2, 2); // str == "surname"
str = data.section("**", -3, -2); // str == "middlename**surname"

split()도 참조하세요 .

QString &QString::setNum(int n, int base = 10)

문자열을 지정된 base 에 있는 n 의 인쇄된 값으로 설정하고 문자열에 대한 참조를 반환합니다.

기본값은 10이며 2에서 36 사이여야 합니다.

QString str;
str.setNum(1234);       // str == "1234"

서식은 항상 QLocale::C, 즉 영어/미국식을 사용합니다. 숫자의 현지화된 문자열 표현을 얻으려면 적절한 로캘과 함께 QLocale::toString()를 사용합니다.

number()도 참조하세요 .

QString &QString::setNum(long n, int base = 10)

과부하가 걸린 기능입니다.

QString &QString::setNum(qlonglong n, int base = 10)

과부하가 걸린 기능입니다.

QString &QString::setNum(qulonglong n, int base = 10)

과부하가 걸린 기능입니다.

QString &QString::setNum(short n, int base = 10)

과부하가 걸린 기능입니다.

QString &QString::setNum(uint n, int base = 10)

과부하가 걸린 기능입니다.

QString &QString::setNum(ulong n, int base = 10)

과부하가 걸린 기능입니다.

QString &QString::setNum(ushort n, int base = 10)

과부하가 걸린 기능입니다.

QString &QString::setNum(double n, char format = 'g', int precision = 6)

이 함수는 오버로드된 함수입니다.

문자열을 주어진 formatprecision 에 따라 포맷된 n 의 인쇄된 값으로 설정하고 문자열에 대한 참조를 반환합니다.

number(), QLocale::FloatingPointPrecisionOption, Number Formats도 참조하세요 .

QString &QString::setNum(float n, char format = 'g', int precision = 6)

이 함수는 오버로드된 함수입니다.

문자열을 지정된 formatprecision 에 따라 포맷된 n 의 인쇄된 값으로 설정하고 문자열에 대한 참조를 반환합니다.

서식은 항상 QLocale::C, 즉 영어/미국식을 사용합니다. 숫자의 현지화된 문자열 표현을 얻으려면 적절한 로캘과 함께 QLocale::toString()를 사용합니다.

number()도 참조하세요 .

QString &QString::setRawData(const QChar *unicode, qsizetype size)

배열의 첫 번째 size 유니코드 문자 unicode 를 사용하도록 QString 를 재설정합니다. unicode 의 데이터는 복사되지 않습니다. 호출자는 QString (또는 수정되지 않은 복사본)이 존재하는 한 unicode 이 삭제되거나 수정되지 않음을 보장할 수 있어야 합니다.

이 함수는 fromRawData() 대신 기존 QString 객체를 재사용하여 메모리 재할당을 절약하는 데 사용할 수 있습니다.

fromRawData()도 참조하세요 .

QString &QString::setUnicode(const QChar *unicode, qsizetype size)

문자열의 크기를 size 문자로 조정하고 unicode 을 문자열에 복사합니다.

unicodenullptr 인 경우 아무것도 복사되지 않지만 문자열의 크기는 여전히 size 로 조정됩니다.

unicode() 및 setUtf16()도 참조하세요 .

QString &QString::setUtf16(const ushort *unicode, qsizetype size)

문자열의 크기를 size 문자로 조정하고 unicode 을 문자열에 복사합니다.

unicodenullptr 인 경우 아무것도 복사되지 않지만 문자열의 크기는 여전히 size 로 조정됩니다.

fromUtf16()와 달리 이 함수는 BOM 및 다른 바이트 순서를 고려하지 않습니다.

utf16() 및 setUnicode()도 참조하세요 .

void QString::shrink_to_fit()

이 기능은 STL 호환성을 위해 제공됩니다. squeeze ()와 동일합니다.

squeeze()도 참조하세요 .

QString QString::simplified() const

시작과 끝에서 공백이 제거되고 내부 공백의 각 시퀀스가 단일 공백으로 대체된 문자열을 반환합니다.

공백은 QChar::isSpace()가 true 을 반환하는 모든 문자를 의미합니다. 여기에는 ASCII 문자 '\t', '\n', '\v', '\f', '\r', ' ' 등이 포함됩니다.

예:

QString str = "  lots\t of\nwhitespace\r\n ";
str = str.simplified();
// str == "lots of whitespace";

trimmed()도 참조하세요 .

[noexcept] qsizetype QString::size() const

이 문자열의 문자 수를 반환합니다.

문자열의 마지막 문자는 크기() - 1 위치에 있습니다.

예시:

QString str = "World";
qsizetype n = str.size();   // n == 5
str.data()[0];              // returns 'W'
str.data()[4];              // returns 'd'

isEmpty() 및 resize()도 참조하세요 .

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

이 문자열을 pos 위치에서 시작하여 n 문자(코드 포인트)로 확장되도록 수정하고 이 문자열에 대한 참조를 반환합니다.

참고: pos < 0, n < 0 또는 pos + n > size()인 경우 동작이 정의되지 않습니다.

QString x = u"Nine pineapples"_s;
x.slice(5);     // x == "pineapples"
x.slice(4, 3);  // x == "app"

이 함수는 Qt 6.8에 도입되었습니다.

sliced(), first(), last(), chopped(), chop() 및 truncate()도 참조하십시오 .

[since 6.8] QString &QString::slice(qsizetype pos)

이 함수는 오버로드된 함수입니다.

이 문자열을 pos 위치에서 시작하여 끝까지 확장되도록 수정하고 이 문자열에 대한 참조를 반환합니다.

참고: pos < 0 또는 pos > size()인 경우 동작이 정의되지 않습니다.

이 함수는 Qt 6.8에 도입되었습니다.

sliced(), first(), last(), chopped(), chop() 및 truncate()도 참조하십시오 .

QStringList QString::split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

sep 이 발생하는 모든 곳에서 문자열을 하위 문자열로 분할하고 해당 문자열의 목록을 반환합니다. sep 가 문자열의 어느 곳과도 일치하지 않으면 split()은 이 문자열을 포함하는 단일 요소 목록을 반환합니다.

cssep 를 대소문자를 구분하여 일치시킬지 대소문자를 구분하지 않고 일치시킬지 지정합니다.

behaviorQt::SkipEmptyParts 인 경우 빈 항목은 결과에 표시되지 않습니다. 기본적으로 빈 항목은 유지됩니다.

예시:

QString str = QStringLiteral("a,,b,c");

QStringList list1 = str.split(u',');
// list1: [ "a", "", "b", "c" ]

QStringList list2 = str.split(u',', Qt::SkipEmptyParts);
// list2: [ "a", "b", "c" ]

sep 가 비어 있는 경우 split()은 빈 문자열을 반환한 다음 각 문자열의 문자를 반환하고 그 뒤에 또 다른 빈 문자열을 반환합니다:

QString str = "abc";
auto parts = str.split(QString());
// parts: {"", "a", "b", "c", ""}

이 동작을 이해하려면 빈 문자열이 모든 곳에서 일치하므로 위와 질적으로 동일하다는 점을 기억하세요:

QString str = "/a/b/c/";
auto parts = str.split(u'/');
// parts: {"", "a", "b", "c", ""}

QStringList::join() 및 section()도 참조하세요 .

QStringList QString::split(const QRegularExpression &re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const

이 함수는 오버로드된 함수입니다.

정규식 re 이 일치하는 곳마다 문자열을 하위 문자열로 분할하고 해당 문자열의 목록을 반환합니다. re 이 문자열의 어느 곳과도 일치하지 않으면 split()은 이 문자열을 포함하는 단일 요소 목록을 반환합니다.

다음은 하나 이상의 공백 문자를 구분 기호로 사용하여 문장의 단어를 추출하는 예제입니다:

QString str;
QStringList list;

str = "Some  text\n\twith  strange whitespace.";
list = str.split(QRegularExpression("\\s+"));
// list: [ "Some", "text", "with", "strange", "whitespace." ]

다음은 비슷한 예이지만 이번에는 단어가 아닌 문자의 시퀀스를 구분 기호로 사용합니다:

str = "This time, a normal English sentence.";
list = str.split(QRegularExpression("\\W+"), Qt::SkipEmptyParts);
// list: [ "This", "time", "a", "normal", "English", "sentence" ]

다음은 길이가 0인 어설션 \b (단어 경계)를 사용하여 문자열을 비단어 토큰과 단어 토큰의 교대 시퀀스로 분할하는 세 번째 예입니다:

str = "Now: this sentence fragment.";
list = str.split(QRegularExpression("\\b"));
// list: [ "", "Now", ": ", "this", " ", "sentence", " ", "fragment", "." ]

QStringList::join() 및 section()도 참조하세요 .

QStringList QString::split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

과부하가 걸린 기능입니다.

void QString::squeeze()

문자 데이터를 저장하는 데 필요하지 않은 메모리를 해제합니다.

이 함수의 유일한 목적은 QString 의 메모리 사용량을 미세 조정할 수 있는 수단을 제공하는 것입니다. 일반적으로 이 함수를 호출할 필요는 거의 없습니다.

reserve() 및 capacity()도 참조하세요 .

bool QString::startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

문자열이 s 으로 시작하면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

csQt::CaseSensitive (기본값)이면 대소문자를 구분하여 검색하고, 그렇지 않으면 대소문자를 구분하지 않습니다.

QString str = "Bananas";
str.startsWith("Ban");     // returns true
str.startsWith("Car");     // returns false

endsWith()도 참조하세요 .

bool QString::startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 함수는 startsWith()를 오버로드합니다.

문자열이 c 으로 시작하면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

bool QString::startsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

이 함수는 startsWith()를 오버로드합니다.

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

이 함수는 오버로드된 함수입니다.

문자열이 str 보기로 시작하면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

csQt::CaseSensitive (기본값)이면 대소문자를 구분하여 검색하고, 그렇지 않으면 대소문자를 구분하지 않습니다.

endsWith()도 참조하세요 .

[noexcept] void QString::swap(QString &other)

이 문자열을 other 로 바꿉니다. 이 작업은 매우 빠르며 실패하지 않습니다.

CFStringRef QString::toCFString() const

QString 에서 CFString을 생성합니다.

호출자는 CFString을 소유하고 릴리스할 책임이 있습니다.

참고: 이 함수는 macOS 및 iOS에서만 사용할 수 있습니다.

QString QString::toCaseFolded() const

문자열의 대/소문자를 접은 값을 반환합니다. 대부분의 유니코드 문자의 경우 toLower()와 동일합니다.

double QString::toDouble(bool *ok = nullptr) const

double 값으로 변환된 문자열을 반환합니다.

변환이 오버플로되면 무한대를 반환하고, 다른 이유(예: 언더플로)로 변환에 실패하면 0.0을 반환합니다.

oknullptr 이 아닌 경우 실패는 *okfalse 로 설정하여 보고하고 성공은 *oktrue 로 설정하여 보고합니다.

QString str = "1234.56";
double val = str.toDouble();   // val == 1234.56

경고: QString 콘텐츠에는 더하기/빼기 기호, 과학적 표기법에 사용되는 문자 e, 소수점 이하를 포함한 유효한 숫자 문자만 포함할 수 있습니다. 단위 또는 추가 문자를 포함하면 변환 오류가 발생합니다.

bool ok;
double d;

d = QString( "1234.56e-02" ).toDouble(&ok); // ok == true, d == 12.3456

d = QString( "1234.56e-02 Volt" ).toDouble(&ok); // ok == false, d == 0

문자열 변환은 항상 'C' 로캘에서 이루어집니다. 로캘에 따라 변환하려면 QLocale::toDouble()를 사용합니다.

d = QString( "1234,56" ).toDouble(&ok); // ok == false
d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56

역사적인 이유로 이 함수는 수천 개의 그룹 구분 기호를 처리하지 않습니다. 이러한 숫자를 변환해야 하는 경우 QLocale::toDouble()를 사용하세요.

d = QString( "1,234,567.89" ).toDouble(&ok); // ok == false
d = QString( "1234567.89" ).toDouble(&ok); // ok == true

이 함수는 선행 및 후행 공백을 무시합니다.

number(), QLocale::setDefault(), QLocale::toDouble() 및 trimmed()도 참조하세요 .

[since 6.6] emscripten::val QString::toEcmaString() const

이 객체를 ECMAScript 문자열로 변환합니다.

이 함수는 Qt 6.6에 도입되었습니다.

fromEcmaString()도 참조하십시오 .

float QString::toFloat(bool *ok = nullptr) const

float 값으로 변환된 문자열을 반환합니다.

변환이 오버플로되면 무한대를 반환하고, 다른 이유(예: 언더플로)로 변환에 실패하면 0.0을 반환합니다.

oknullptr 이 아닌 경우 실패는 *okfalse 로 설정하여 보고하고 성공은 *oktrue 로 설정하여 보고합니다.

경고: QString 콘텐츠에는 더하기/빼기 기호, 과학적 표기법에 사용되는 문자 e, 소수점 이하를 포함한 유효한 숫자 문자만 포함할 수 있습니다. 단위 또는 추가 문자를 포함하면 변환 오류가 발생합니다.

문자열 변환은 항상 'C' 로캘에서 이루어집니다. 로캘에 따라 변환하려면 QLocale::toFloat()를 사용합니다.

역사적인 이유로 이 함수는 수천 개의 그룹 구분 기호를 처리하지 않습니다. 이러한 숫자를 변환해야 하는 경우 QLocale::toFloat()를 사용하세요.

예시:

QString str1 = "1234.56";
str1.toFloat();             // returns 1234.56

bool ok;
QString str2 = "R2D2";
str2.toFloat(&ok);          // returns 0.0, sets ok to false

QString str3 = "1234.56 Volt";
str3.toFloat(&ok);          // returns 0.0, sets ok to false

이 함수는 선행 및 후행 공백을 무시합니다.

number(), toDouble(), toInt(), QLocale::toFloat() 및 trimmed()도 참조하세요 .

QString QString::toHtmlEscaped() const

일반 텍스트 문자열을 HTML 메타문자 <, >, &, " 를 HTML 엔티티로 대체한 HTML 문자열로 변환합니다.

예시:

QString plain = "#include <QtCore>"
QString html = plain.toHtmlEscaped();
// html == "#include &lt;QtCore&gt;"

int QString::toInt(bool *ok = nullptr, int base = 10) const

기본값은 10이며 2에서 36 사이 또는 0이어야 하는 base 을 사용하여 int 으로 변환된 문자열을 반환합니다. 변환에 실패하면 0을 반환합니다.

oknullptr 이 아닌 경우 실패는 *okfalse 로 설정하여 보고하고 성공은 *oktrue 로 설정하여 보고합니다.

base 이 0이면 C 언어 규칙이 사용됩니다. 문자열이 "0x"로 시작하면 기본 16이 사용되고, 그렇지 않으면 기본 2가 사용되며, 문자열이 "0b"로 시작하면 기본 8이 사용되며, 그렇지 않으면 기본 10이 사용됩니다.

문자열 변환은 항상 'C' 로캘에서 이루어집니다. 로캘에 따라 변환하려면 QLocale::toInt()를 사용합니다.

예시:

QString str = "FF";
bool ok;
int hex = str.toInt(&ok, 16);       // hex == 255, ok == true
int dec = str.toInt(&ok, 10);       // dec == 0, ok == false

이 함수는 선행 및 후행 공백을 무시합니다.

참고: "0b" 접두사에 대한 지원은 Qt 6.4에서 추가되었습니다.

number(), toUInt(), toDouble() 및 QLocale::toInt()도 참조하세요 .

QByteArray QString::toLatin1() const

문자열의 라틴 1 표현을 QByteArray 로 반환합니다.

문자열에 라틴 1이 아닌 문자가 포함된 경우 반환되는 바이트 배열은 정의되지 않습니다. 이러한 문자는 억제되거나 물음표로 대체될 수 있습니다.

fromLatin1(), toUtf8(), toLocal8Bit() 및 QStringEncoder도 참조하세요 .

QByteArray QString::toLocal8Bit() const

문자열의 로컬 8비트 표현을 QByteArray 로 반환합니다.

유닉스 시스템에서는 toUtf8()에 해당합니다. Apple 시스템에서 이 함수는 NSString.defaultCStringEncoding 또는 CFStringGetSystemEncoding()을 고려하지 않습니다. 이 함수는 일반적으로 최신 Apple 운영 체제에서 사용해서는 안 되는 레거시 "Western(Mac OS Roman)" 인코딩을 반환하므로 이 함수는 고려하지 않습니다. Windows에서는 시스템의 현재 코드 페이지가 사용됩니다.

이 문자열에 로컬 8비트 인코딩으로 인코딩할 수 없는 문자가 포함되어 있으면 반환되는 바이트 배열이 정의되지 않습니다. 이러한 문자는 억제되거나 다른 문자로 대체될 수 있습니다.

fromLocal8Bit(), toLatin1(), toUtf8() 및 QStringEncoder참조하세요 .

long QString::toLong(bool *ok = nullptr, int base = 10) const

기본값은 10이며 2에서 36 사이 또는 0이어야 하는 base 을 사용하여 long 으로 변환된 문자열을 반환합니다. 변환에 실패하면 0을 반환합니다.

oknullptr 이 아닌 경우 실패는 *okfalse 로 설정하여 보고하고 성공은 *oktrue 로 설정하여 보고합니다.

base 이 0이면 C 언어 규칙이 사용됩니다. 문자열이 "0x"로 시작하면 기본 16이 사용되고, 그렇지 않으면 기본 2가 사용되며, 문자열이 "0b"로 시작하면 기본 8이 사용되며, 그렇지 않으면 기본 10이 사용됩니다.

문자열 변환은 항상 'C' 로캘에서 이루어집니다. 로캘에 따라 변환하려면 QLocale::toLongLong()를 사용합니다.

예시:

QString str = "FF";
bool ok;

long hex = str.toLong(&ok, 16);     // hex == 255, ok == true
long dec = str.toLong(&ok, 10);     // dec == 0, ok == false

이 함수는 선행 및 후행 공백을 무시합니다.

참고: "0b" 접두사에 대한 지원은 Qt 6.4에서 추가되었습니다.

number(), toULong(), toInt() 및 QLocale::toInt()도 참조하세요 .

qlonglong QString::toLongLong(bool *ok = nullptr, int base = 10) const

기본값은 10이며 2에서 36 사이 또는 0이어야 하는 base 을 사용하여 long long 으로 변환된 문자열을 반환합니다. 변환에 실패하면 0을 반환합니다.

oknullptr 이 아닌 경우 실패는 *okfalse 로 설정하여 보고하고 성공은 *oktrue 로 설정하여 보고합니다.

base 이 0이면 C 언어 규칙이 사용됩니다. 문자열이 "0x"로 시작하면 기본 16이 사용되고, 그렇지 않으면 기본 2가 사용되며, 문자열이 "0b"로 시작하면 기본 8이 사용되며, 그렇지 않으면 기본 10이 사용됩니다.

문자열 변환은 항상 'C' 로캘에서 이루어집니다. 로캘에 따라 변환하려면 QLocale::toLongLong()를 사용합니다.

예시:

QString str = "FF";
bool ok;

qint64 hex = str.toLongLong(&ok, 16);      // hex == 255, ok == true
qint64 dec = str.toLongLong(&ok, 10);      // dec == 0, ok == false

이 함수는 선행 및 후행 공백을 무시합니다.

참고: "0b" 접두사에 대한 지원은 Qt 6.4에서 추가되었습니다.

number(), toULongLong(), toInt() 및 QLocale::toLongLong()도 참조하세요 .

QString QString::toLower() const

문자열의 소문자 복사본을 반환합니다.

QString str = "The Qt PROJECT";
str = str.toLower();        // str == "the qt project"

대소문자 변환은 항상 'C' 로캘에서 수행됩니다. 로캘에 따라 대/소문자를 접으려면 QLocale::toLower()를 사용합니다.

toUpper() 및 QLocale::toLower()도 참조하세요 .

NSString *QString::toNSString() const

QString 에서 NSString을 생성합니다.

NSString이 자동으로 릴리스됩니다.

참고: 이 함수는 macOS 및 iOS에서만 사용할 수 있습니다.

short QString::toShort(bool *ok = nullptr, int base = 10) const

기본값은 10이며 2에서 36 사이 또는 0이어야 하는 base 을 사용하여 short 으로 변환된 문자열을 반환합니다. 변환에 실패하면 0을 반환합니다.

oknullptr 이 아닌 경우 실패는 *okfalse 로 설정하여 보고하고 성공은 *oktrue 로 설정하여 보고합니다.

base 이 0이면 C 언어 규칙이 사용됩니다. 문자열이 "0x"로 시작하면 기본 16이 사용되고, 그렇지 않으면 기본 2가 사용되며, 문자열이 "0b"로 시작하면 기본 8이 사용되며, 그렇지 않으면 기본 10이 사용됩니다.

문자열 변환은 항상 'C' 로캘에서 이루어집니다. 로캘에 따라 변환하려면 QLocale::toShort()를 사용합니다.

예시:

QString str = "FF";
bool ok;

short hex = str.toShort(&ok, 16);   // hex == 255, ok == true
short dec = str.toShort(&ok, 10);   // dec == 0, ok == false

이 함수는 선행 및 후행 공백을 무시합니다.

참고: "0b" 접두사에 대한 지원은 Qt 6.4에서 추가되었습니다.

number(), toUShort(), toInt() 및 QLocale::toShort()도 참조하세요 .

std::string QString::toStdString() const

QString 에 포함된 데이터가 포함된 std::string 객체를 반환합니다. 유니코드 데이터는 toUtf8() 함수를 사용하여 8비트 문자로 변환됩니다.

이 메서드는 주로 QString 를 std::string 객체를 받는 함수에 전달할 때 유용합니다.

toLatin1(), toUtf8(), toLocal8Bit() 및 QByteArray::toStdString()도 참조하세요 .

std::u16string QString::toStdU16String() const

QString 에 포함된 데이터가 포함된 std::u16string 객체를 반환합니다. 유니코드 데이터는 utf16() 메서드가 반환하는 것과 동일합니다.

utf16(), toStdWString() 및 toStdU32String()도 참조하세요 .

std::u32string QString::toStdU32String() const

QString 에 포함된 데이터가 포함된 std::u32string 객체를 반환합니다. 유니코드 데이터는 toUcs4() 메서드가 반환하는 것과 동일합니다.

toUcs4(), toStdWString() 및 toStdU16String()도 참조하세요 .

std::wstring QString::toStdWString() const

QString 에 포함된 데이터가 포함된 std::wstring 객체를 반환합니다. std::wstring은 wchar_t 폭이 2바이트인 플랫폼(예: Windows)에서는 UTF-16으로 인코딩되고, wchar_t 폭이 4바이트인 플랫폼(대부분의 유닉스 시스템)에서는 UTF-32로 인코딩됩니다.

이 메서드는 주로 std::wstring 객체를 받는 함수에 QString 을 전달할 때 유용합니다.

utf16(), toLatin1(), toUtf8(), toLocal8Bit(), toStdU16String() 및 toStdU32String()도 참조하세요 .

uint QString::toUInt(bool *ok = nullptr, int base = 10) const

기본값은 10이며 2에서 36 사이 또는 0이어야 하는 base 을 사용하여 unsigned int 으로 변환된 문자열을 반환합니다. 변환에 실패하면 0을 반환합니다.

oknullptr 이 아닌 경우 실패는 *okfalse 로 설정하여 보고하고 성공은 *oktrue 로 설정하여 보고합니다.

base 이 0이면 C 언어 규칙이 사용됩니다. 문자열이 "0x"로 시작하면 기본 16이 사용되고, 그렇지 않으면 기본 2가 사용되며, 문자열이 "0b"로 시작하면 기본 8이 사용되며, 그렇지 않으면 기본 10이 사용됩니다.

문자열 변환은 항상 'C' 로캘에서 이루어집니다. 로캘에 따라 변환하려면 QLocale::toUInt()를 사용합니다.

예시:

QString str = "FF";
bool ok;

uint hex = str.toUInt(&ok, 16);     // hex == 255, ok == true
uint dec = str.toUInt(&ok, 10);     // dec == 0, ok == false

이 함수는 선행 및 후행 공백을 무시합니다.

참고: "0b" 접두사에 대한 지원은 Qt 6.4에서 추가되었습니다.

number(), toInt() 및 QLocale::toUInt()도 참조하세요 .

ulong QString::toULong(bool *ok = nullptr, int base = 10) const

기본값은 10이며 2에서 36 사이 또는 0이어야 하는 base 을 사용하여 unsigned long 으로 변환된 문자열을 반환합니다. 변환에 실패하면 0을 반환합니다.

oknullptr 이 아닌 경우 실패는 *okfalse 로 설정하여 보고하고 성공은 *oktrue 로 설정하여 보고합니다.

base 이 0이면 C 언어 규칙이 사용됩니다. 문자열이 "0x"로 시작하면 기본 16이 사용되고, 그렇지 않으면 기본 2가 사용되며, 문자열이 "0b"로 시작하면 기본 8이 사용되며, 그렇지 않으면 기본 10이 사용됩니다.

문자열 변환은 항상 'C' 로캘에서 이루어집니다. 로캘에 따라 변환하려면 QLocale::toULongLong()를 사용합니다.

예시:

QString str = "FF";
bool ok;

ulong hex = str.toULong(&ok, 16);   // hex == 255, ok == true
ulong dec = str.toULong(&ok, 10);   // dec == 0, ok == false

이 함수는 선행 및 후행 공백을 무시합니다.

참고: "0b" 접두사에 대한 지원은 Qt 6.4에서 추가되었습니다.

number() 및 QLocale::toUInt()도 참조하세요 .

qulonglong QString::toULongLong(bool *ok = nullptr, int base = 10) const

기본값은 10이며 2에서 36 사이 또는 0이어야 하는 base 을 사용하여 unsigned long long 으로 변환된 문자열을 반환합니다. 변환에 실패하면 0을 반환합니다.

oknullptr 이 아닌 경우 실패는 *okfalse 로 설정하여 보고하고 성공은 *oktrue 로 설정하여 보고합니다.

base 이 0이면 C 언어 규칙이 사용됩니다. 문자열이 "0x"로 시작하면 기본 16이 사용되고, 그렇지 않으면 기본 2가 사용되며, 문자열이 "0b"로 시작하면 기본 8이 사용되며, 그렇지 않으면 기본 10이 사용됩니다.

문자열 변환은 항상 'C' 로캘에서 이루어집니다. 로캘에 따라 변환하려면 QLocale::toULongLong()를 사용합니다.

예시:

QString str = "FF";
bool ok;

quint64 hex = str.toULongLong(&ok, 16);    // hex == 255, ok == true
quint64 dec = str.toULongLong(&ok, 10);    // dec == 0, ok == false

이 함수는 선행 및 후행 공백을 무시합니다.

참고: "0b" 접두사에 대한 지원은 Qt 6.4에서 추가되었습니다.

number(), toLongLong() 및 QLocale::toULongLong()도 참조하세요 .

ushort QString::toUShort(bool *ok = nullptr, int base = 10) const

기본값은 10이며 2에서 36 사이 또는 0이어야 하는 base 을 사용하여 unsigned short 으로 변환된 문자열을 반환합니다. 변환에 실패하면 0을 반환합니다.

oknullptr 이 아닌 경우 실패는 *okfalse 로 설정하여 보고하고 성공은 *oktrue 로 설정하여 보고합니다.

base 이 0이면 C 언어 규칙이 사용됩니다. 문자열이 "0x"로 시작하면 기본 16이 사용되고, 그렇지 않으면 기본 2가 사용되며, 문자열이 "0b"로 시작하면 기본 8이 사용되며, 그렇지 않으면 기본 10이 사용됩니다.

문자열 변환은 항상 'C' 로캘에서 이루어집니다. 로캘에 따라 변환하려면 QLocale::toUShort()를 사용합니다.

예시:

QString str = "FF";
bool ok;

ushort hex = str.toUShort(&ok, 16);     // hex == 255, ok == true
ushort dec = str.toUShort(&ok, 10);     // dec == 0, ok == false

이 함수는 선행 및 후행 공백을 무시합니다.

참고: "0b" 접두사에 대한 지원은 Qt 6.4에서 추가되었습니다.

number(), toShort() 및 QLocale::toUShort()도 참조하세요 .

QList<uint> QString::toUcs4() const

문자열의 UCS-4/UTF-32 표현을 QList<uint>로 반환합니다.

UTF-32는 유니코드 코덱이므로 무손실입니다. 이 문자열의 모든 문자는 UTF-32로 인코딩됩니다. 이 문자열의 유효하지 않은 코드 단위 시퀀스는 유니코드의 대체 문자(QChar::ReplacementCharacter, U+FFFD 에 해당)로 대체됩니다.

반환된 목록은 \0'-종료되지 않습니다.

fromUtf8(), toUtf8(), toLatin1(), toLocal8Bit(), QStringEncoder, fromUcs4() 및 toWCharArray()도 참조하세요 .

QString QString::toUpper() const

문자열의 대문자 복사본을 반환합니다.

QString str = "TeXt";
str = str.toUpper();        // str == "TEXT"

대/소문자 변환은 항상 'C' 로캘에서 수행됩니다. 로캘에 따른 대소문자 접기는 QLocale::toUpper()를 사용합니다.

참고: 경우에 따라 문자열의 대문자 형식이 원본보다 길 수 있습니다.

toLower() 및 QLocale::toLower()도 참조하세요 .

QByteArray QString::toUtf8() const

문자열의 UTF-8 표현을 QByteArray 로 반환합니다.

UTF-8은 유니코드 코덱이며 QString 와 같은 유니코드 문자열의 모든 문자를 표현할 수 있습니다.

fromUtf8(), toLatin1(), toLocal8Bit() 및 QStringEncoder도 참조하세요 .

qsizetype QString::toWCharArray(wchar_t *array) const

QString 객체에 포함된 데이터로 array 을 채웁니다. 배열은 wchar_t의 너비가 2바이트인 플랫폼(예: 윈도우)에서는 UTF-16으로 인코딩되고, wchar_t의 너비가 4바이트인 플랫폼(대부분의 Unix 시스템)에서는 UTF-32로 인코딩됩니다.

array 호출자가 할당해야 하며 전체 문자열을 담을 수 있는 충분한 공간을 포함해야 합니다(문자열과 같은 길이의 배열을 할당하면 항상 충분합니다).

이 함수는 array 에 있는 문자열의 실제 길이를 반환합니다.

참고: 이 함수는 배열에 null 문자를 추가하지 않습니다.

utf16(), toUcs4(), toLatin1(), toUtf8(), toLocal8Bit(), toStdWString() 및 QStringView::toWCharArray()도 참조하세요 .

QString QString::trimmed() const

시작과 끝에서 공백이 제거된 문자열을 반환합니다.

공백은 QChar::isSpace()가 true 을 반환하는 모든 문자를 의미합니다. 여기에는 ASCII 문자 '\t', '\n', '\v', '\f', '\r', ' ' 등이 포함됩니다.

예시:

QString str = "  lots\t of\nwhitespace\r\n ";
str = str.trimmed();
// str == "lots\t of\nwhitespace"

simplified()와 달리 trimmed()는 내부 공백을 그대로 둡니다.

simplified()도 참조하세요 .

void QString::truncate(qsizetype position)

지정된 position 인덱스에서 문자열을 잘라냅니다.

지정된 position 인덱스가 문자열의 끝에 있는 경우 아무 일도 일어나지 않습니다.

예시:

QString str = "Vladivostok";
str.truncate(4);
// str == "Vlad"

position 이 음수이면 0을 전달하는 것과 같습니다.

chop(), resize(), first() 및 QStringView::truncate()도 참조하세요 .

const QChar *QString::unicode() const

문자열의 유니코드 표현을 반환합니다. 결과는 문자열이 수정될 때까지 유효합니다.

참고: 반환된 문자열은 '\0'으로 끝나는 문자열이 아닐 수 있습니다. 배열의 길이를 확인하려면 size()를 사용합니다.

setUnicode(), utf16() 및 fromRawData()도 참조하세요 .

const ushort *QString::utf16() const

QString 을 '\0'으로 끝나는 부호 없는 단락 배열로 반환합니다. 결과는 문자열이 수정될 때까지 유효합니다.

반환된 문자열은 호스트 바이트 순서로 정렬됩니다.

setUtf16() 및 unicode()도 참조하세요 .

[static] QString QString::vasprintf(const char *cformat, va_list ap)

asprintf()와 동등한 메서드이지만, 변수 인수의 목록 대신 va_list ap 를 받습니다. cformat 에 대한 설명은 asprintf() 문서를 참조하세요.

이 메서드는 va_end 매크로를 호출하지 않으며, 호출자는 ap 에서 va_end를 호출할 책임이 있습니다.

asprintf()도 참조하세요 .

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

QString 객체를 std::u16string_view 객체로 변환합니다.

이 함수는 Qt 6.7에 도입되었습니다.

QString &QString::operator+=(const QString &other)

이 문자열 끝에 other 문자열을 추가하고 이 문자열에 대한 참조를 반환합니다.

예시:

QString x = "free";
QString y = "dom";
x += y;
// x == "freedom"

QString 은 문자열 데이터 끝에 추가 공간을 미리 할당하여 매번 전체 문자열을 다시 할당하지 않고도 늘릴 수 있으므로 이 작업은 일반적으로 매우 빠릅니다(일정한 시간).

append() 및 prepend()도 참조하세요 .

QString &QString::operator+=(QChar ch)

이 함수는 연산자+=()를 오버로드합니다.

문자열에 ch 문자를 추가합니다.

QString &QString::operator+=(QLatin1StringView str)

이 함수는 연산자+=()를 오버로드합니다.

str 에서 본 라틴-1 문자열을 이 문자열에 추가합니다.

[since 6.0] QString &QString::operator+=(QStringView str)

이 함수는 연산자+=()를 오버로드합니다.

이 문자열에 문자열 보기 str 를 추가합니다.

이 함수는 Qt 6.0에 도입되었습니다.

[since 6.5] QString &QString::operator+=(QUtf8StringView str)

이 함수는 연산자+=()를 오버로드합니다.

이 문자열에 UTF-8 문자열 보기 str 를 추가합니다.

이 함수는 Qt 6.5에 도입되었습니다.

QString &QString::operator+=(const QByteArray &ba)

이 함수는 연산자+=()를 오버로드합니다.

이 문자열에 바이트 배열 ba 을 추가합니다. 바이트 배열은 fromUtf8() 함수를 사용하여 유니코드로 변환됩니다. ba 바이트 배열에 NUL 문자('\0')가 포함된 경우 변환에 포함됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 함수를 비활성화할 수 있습니다. 예를 들어 사용자에게 표시되는 모든 문자열이 QObject::tr()를 통과하도록 하려는 경우 유용할 수 있습니다.

QString &QString::operator+=(const char *str)

이 함수는 연산자+=()를 오버로드합니다.

이 문자열에 str 문자열을 추가합니다. 상수 문자 포인터는 fromUtf8() 함수를 사용하여 유니코드로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 함수를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

[noexcept] QString &QString::operator=(QString &&other)

이동-이 other 인스턴스를 QString 인스턴스에 할당합니다.

[noexcept] QString &QString::operator=(const QString &other)

이 문자열에 other 을 할당하고 이 문자열에 대한 참조를 반환합니다.

QString &QString::operator=(QChar ch)

이 함수는 연산자=()를 오버로드합니다.

단일 문자 ch 를 포함하도록 문자열을 설정합니다.

QString &QString::operator=(QLatin1StringView str)

이 함수는 연산자=()를 오버로드합니다.

str 에서 본 라틴-1 문자열을 이 문자열에 할당합니다.

QString &QString::operator=(const QByteArray &ba)

이 함수는 연산자=()를 오버로드합니다.

이 문자열에 ba 을 할당합니다. 바이트 배열은 fromUtf8() 함수를 사용하여 유니코드로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

QString &QString::operator=(const char *str)

이 함수는 연산자=()를 오버로드합니다.

이 문자열에 str 을 할당합니다. 상수 문자 포인터는 fromUtf8() 함수를 사용하여 유니코드로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 또는 QT_RESTRICTED_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

QChar &QString::operator[](qsizetype position)

문자열에서 지정된 position 에 있는 문자를 수정 가능한 참조로 반환합니다.

예제:

QString str;

if (str[0] == QChar('?'))
    str[0] = QChar('_');

at()도 참조하세요 .

const QChar QString::operator[](qsizetype position) const

이 함수는 연산자[]()에 과부하를 줍니다.

관련 비회원

QString operator+(QString &&s1, const QString &s2)

QString operator+(const QString &s1, const QString &s2)

s1s2 을 연결한 결과인 문자열을 반환합니다.

[since 6.1] template <typename T> qsizetype erase(QString &s, const T &t)

s 문자열에서 t 과 비교되는 모든 요소를 제거합니다. 제거된 엘리먼트가 있으면 그 수를 반환합니다.

이 함수는 Qt 6.1에 도입되었습니다.

erase_if도 참조하십시오 .

[since 6.1] template <typename Predicate> qsizetype erase_if(QString &s, Predicate pred)

s 문자열에서 pred 술어가 참을 반환하는 모든 요소를 제거합니다. 제거된 엘리먼트가 있으면 그 수를 반환합니다.

이 함수는 Qt 6.1에 도입되었습니다.

erase도 참조하십시오 .

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

바이트 배열 lhsrhs 의 UTF-8 인코딩과 같지 않으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

비교는 대소문자를 구분합니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 그런 다음 비교를 수행하기 전에 바이트 배열을 QString 로 변환하려면 QString::fromUtf8(), QString::fromLatin1() 또는 QString::fromLocal8Bit()를 명시적으로 호출해야 합니다.

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

문자열 lhs 이 문자열 rhs 과 같지 않으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

Comparing Strings참조하세요 .

[noexcept] bool operator!=(const char *const &lhs, const QString &rhs)

lhsrhs 과 같지 않으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

lhs!= 0의 경우 compare( lhs , rhs ) != 0 와 같습니다. lhs 이 0인 문자열은 없습니다.

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

이 함수는 연산자!=()를 오버로드합니다.

rhs 바이트 배열은 QUtf8StringView 으로 변환됩니다. 바이트 배열에 NUL 문자('\0')가 포함되어 있는 경우 변환에 포함됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 통과하도록 하려는 경우 유용할 수 있습니다.

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

lhs 문자열이 rhs 문자열과 같지 않으면 true 을 반환합니다. 그렇지 않으면 false 을 반환합니다.

이 함수는 연산자!=()를 오버로드합니다.

[noexcept] bool operator!=(const QString &lhs, const char *const &rhs)

이 함수는 연산자!=()를 오버로드합니다.

rhs const 문자 포인터는 QUtf8StringView 로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

[noexcept, since 6.4] QString operator""_s(const char16_t *str, size_t size)

char16_t 문자열 리터럴 str 의 첫 번째 size 문자로 QString 을 생성하는 리터럴 연산자입니다.

QString 은 컴파일 시 생성되며, 생성된 문자열 데이터는 컴파일된 객체 파일의 읽기 전용 세그먼트에 저장됩니다. 중복 리터럴은 동일한 읽기 전용 메모리를 공유할 수 있습니다. 이 기능은 QStringLiteral 와 호환되지만 코드에 많은 문자열 리터럴이 있을 때 타이핑을 절약할 수 있습니다.

다음 코드는 QString 을 생성합니다:

using namespace Qt::Literals::StringLiterals;

auto str = u"hello"_s;

이 함수는 Qt 6.4에 도입되었습니다.

Qt::Literals::StringLiterals참조하십시오 .

QString operator+(const QString &s1, const char *s2)

s1s2 (s2QString::fromUtf8() 함수를 사용하여 유니코드로 변환됨)을 연결한 결과인 문자열을 반환합니다.

QString::fromUtf8()도 참조하세요 .

QString operator+(const char *s1, const QString &s2)

s1s2 (s1QString::fromUtf8() 함수를 사용하여 유니코드로 변환됨)을 연결한 결과인 문자열을 반환합니다.

QString::fromUtf8()도 참조하세요 .

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

바이트 배열 lhsrhs 의 UTF-8 인코딩보다 어휘적으로 작으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

비교는 대소문자를 구분합니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 그런 다음 비교를 수행하기 전에 바이트 배열을 QString 로 변환하려면 QString::fromUtf8(), QString::fromLatin1() 또는 QString::fromLocal8Bit()를 명시적으로 호출해야 합니다.

[noexcept] bool operator<(const char *const &lhs, const QString &rhs)

lhsrhs 보다 어휘적으로 작으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다. lhs != 0의 경우 compare(lhs, rhs) < 0 과 동일합니다.

Comparing Strings참조하세요 .

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

이 함수는 연산자<()를 오버로드합니다.

lhsrhs 보다 어휘적으로 작으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

이 함수는 연산자<()를 오버로드합니다.

rhs 바이트 배열은 QUtf8StringView 으로 변환됩니다. 바이트 배열에 NUL 문자('\0')가 포함되어 있는 경우 변환에 포함됩니다.

애플리케이션을 컴파일할 때 이 연산자 QT_NO_CAST_FROM_ASCII 를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 통과하도록 하려는 경우 유용할 수 있습니다.

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

이 함수는 연산자<()를 오버로드합니다.

lhsrhs 보다 어휘적으로 작으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

이 함수는 연산자<()를 오버로드합니다.

문자열 lhs 이 문자열 rhs 보다 어휘적으로 작으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

Comparing Strings참조하세요 .

[noexcept] bool operator<(const QString &lhs, const char *const &rhs)

문자열 lhs 이 문자열 rhs 보다 어휘적으로 작으면 true 을 반환합니다. 그렇지 않으면 false 을 반환합니다.

이 함수는 연산자<()를 오버로드합니다.

rhs const 문자 포인터는 QUtf8StringView 로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

QDataStream &operator<<(QDataStream &stream, const QString &string)

주어진 string 을 지정된 stream 에 씁니다.

Qt 데이터 형 직렬화도참조하십시오 .

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

바이트 배열 lhs 이 어휘적으로 rhs 의 UTF-8 인코딩보다 작거나 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

비교는 대소문자를 구분합니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 그런 다음 비교를 수행하기 전에 바이트 배열을 QString 로 변환하려면 QString::fromUtf8(), QString::fromLatin1() 또는 QString::fromLocal8Bit()를 명시적으로 호출해야 합니다.

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

lhs 문자열이 rhs 문자열보다 어휘적으로 작거나 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

Comparing Strings참조하세요 .

[noexcept] bool operator<=(const char *const &lhs, const QString &rhs)

lhsrhs 보다 어휘적으로 작거나 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다. lhs != 0의 경우 compare(lhs, rhs) <= 0 과 동일합니다.

Comparing Strings참조하세요 .

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

이 함수는 연산자<=()를 오버로드합니다.

lhsrhs 보다 어휘적으로 작거나 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

이 함수는 연산자<=()를 오버로드합니다.

rhs 바이트 배열은 QUtf8StringView 으로 변환됩니다. 바이트 배열에 NUL 문자('\0')가 포함되어 있는 경우 변환에 포함됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 통과하도록 하려는 경우 유용할 수 있습니다.

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

이 함수는 연산자<=()를 오버로드합니다.

lhsrhs 보다 어휘적으로 작거나 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

[noexcept] bool operator<=(const QString &lhs, const char *const &rhs)

이 함수는 연산자<=()를 오버로드합니다.

rhs const char 포인터는 QUtf8StringView 로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

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

바이트 배열 lhsrhs 의 UTF-8 인코딩과 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

비교는 대소문자를 구분합니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 그런 다음 비교를 수행하기 전에 바이트 배열을 QString 로 변환하려면 QString::fromUtf8(), QString::fromLatin1() 또는 QString::fromLocal8Bit()를 명시적으로 호출해야 합니다.

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

이 함수는 연산자==()를 오버로드합니다.

lhsrhs 과 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

이 함수는 연산자==()를 오버로드합니다.

rhs 바이트 배열은 QUtf8StringView 로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

lhs 문자열이 rhs 과 어휘적으로 같으면 true 을 반환합니다. 그렇지 않으면 false 을 반환합니다.

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

이 함수는 연산자==()를 오버로드합니다.

lhsrhs 과 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

이 함수는 연산자==()를 오버로드합니다.

문자열 lhs 이 문자열 rhs 과 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

참고: 이 함수는 널 문자열을 빈 문자열과 동일하게 취급하며, 자세한 내용은 Distinction Between Null and Empty Strings 을 참조하십시오.

Comparing Strings참조하세요 .

[noexcept] bool operator==(const QString &lhs, const char *const &rhs)

이 함수는 연산자==()를 오버로드합니다.

rhs const char 포인터는 QUtf8StringView 로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

[noexcept] bool operator==(const char *const &lhs, const QString &rhs)

이 함수는 연산자==()를 오버로드합니다.

lhsrhs 과 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다. lhs 이 0인 문자열은 없습니다.

lhs != 0 && compare(lhs, rhs) == 0 와 같습니다.

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

바이트 배열 lhs 이 UTF-8 인코딩 rhs 보다 어휘적으로 크면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

비교는 대소문자를 구분합니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 그런 다음 비교를 수행하기 전에 바이트 배열을 QString 로 변환하려면 QString::fromUtf8(), QString::fromLatin1() 또는 QString::fromLocal8Bit()를 명시적으로 호출해야 합니다.

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

문자열 lhs 이 문자열 rhs 보다 어휘적으로 크면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

Comparing Strings참조하세요 .

[noexcept] bool operator>(const char *const &lhs, const QString &rhs)

lhs 이 어휘적으로 rhs 보다 크면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다. compare(lhs, rhs) > 0 와 동일합니다.

Comparing Strings참조하세요 .

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

이 함수는 연산자>()를 오버로드합니다.

lhs 이 어휘적으로 rhs 보다 크면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

이 함수는 연산자>()를 오버로드합니다.

rhs 바이트 배열은 QUtf8StringView 으로 변환됩니다. 바이트 배열에 NUL 문자('\0')가 포함되어 있는 경우 변환에 포함됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 통과하도록 하려는 경우 유용할 수 있습니다.

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

이 함수는 연산자>()를 오버로드합니다.

lhs 이 어휘적으로 rhs 보다 크면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

[noexcept] bool operator>(const QString &lhs, const char *const &rhs)

이 함수는 연산자>()를 오버로드합니다.

rhs const char 포인터는 QUtf8StringView 로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

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

바이트 배열 lhsrhs 의 UTF-8 인코딩보다 크거나 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

비교는 대소문자를 구분합니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 그런 다음 비교를 수행하기 전에 바이트 배열을 QString 로 변환하려면 QString::fromUtf8(), QString::fromLatin1() 또는 QString::fromLocal8Bit()를 명시적으로 호출해야 합니다.

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

문자열 lhs 이 어휘적으로 문자열 rhs 보다 크거나 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

Comparing Strings참조하세요 .

[noexcept] bool operator>=(const char *const &lhs, const QString &rhs)

lhs 이 어휘적으로 rhs 보다 크거나 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다. lhs != 0의 경우 compare(lhs, rhs) >= 0 과 동일합니다.

Comparing Strings참조하세요 .

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

이 함수는 연산자>=()를 오버로드합니다.

lhs 이 어휘적으로 rhs 보다 크거나 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

이 함수는 연산자>=()를 오버로드합니다.

rhs 바이트 배열은 QUtf8StringView 으로 변환됩니다. 바이트 배열에 NUL 문자('\0')가 포함되어 있는 경우 변환에 포함됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 통과하도록 하려는 경우 유용할 수 있습니다.

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

이 함수는 연산자>=()를 오버로드합니다.

lhs 이 어휘적으로 rhs 보다 크거나 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

[noexcept] bool operator>=(const QString &lhs, const char *const &rhs)

이 함수는 연산자>=()를 오버로드합니다.

rhs const char 포인터는 QUtf8StringView 로 변환됩니다.

애플리케이션을 컴파일할 때 QT_NO_CAST_FROM_ASCII 을 정의하여 이 연산자를 비활성화할 수 있습니다. 예를 들어 사용자가 볼 수 있는 모든 문자열이 QObject::tr()를 거치도록 하려는 경우 유용할 수 있습니다.

QDataStream &operator>>(QDataStream &stream, QString &string)

지정된 stream 에서 주어진 string 으로 문자열을 읽습니다.

Qt 데이터 형 직렬화도참조하십시오 .

매크로 문서

QStringLiteral(str)

매크로는 컴파일 시 문자열 리터럴 str 에서 QString 에 대한 데이터를 생성합니다. 이 경우 QString 을 생성하는 것은 무료이며, 생성된 문자열 데이터는 컴파일된 객체 파일의 읽기 전용 세그먼트에 저장됩니다.

다음과 같은 코드가 있는 경우

// hasAttribute takes a QString argument
if (node.hasAttribute("http-contents-length")) //...

다음과 같은 코드가 있는 경우 임시 QString 가 생성되어 hasAttribute 함수 매개변수로 전달됩니다. 이 경우 메모리 할당과 QString 의 내부 인코딩으로 데이터를 복사/변환해야 하므로 비용이 상당히 많이 들 수 있습니다.

대신 QStringLiteral을 사용하면 이 비용을 피할 수 있습니다:

if (node.hasAttribute(QStringLiteral(u"http-contents-length"))) //...

이 경우 QString 의 내부 데이터는 컴파일 시 생성되며, 런타임에는 변환이나 할당이 발생하지 않습니다.

큰따옴표로 묶인 일반 C++ 문자열 리터럴 대신 QStringLiteral을 사용하면 컴파일 시점에 알려진 데이터에서 QString 인스턴스 생성 속도를 크게 높일 수 있습니다.

참고: QLatin1StringView 을 취하는 오버로드가 있는 함수에 문자열을 전달하고 이 오버로드가 QString 로의 변환을 피하는 경우QLatin1StringView 이 QStringLiteral 보다 여전히 더 효율적일 수 있습니다. 예를 들어, QString::operator==()는 QLatin1StringView 와 직접 비교할 수 있습니다:

if (attribute.name() == "http-contents-length"_L1) //...

참고: 일부 컴파일러에는 US-ASCII 문자 집합 이외의 문자가 포함된 문자열을 인코딩하는 버그가 있습니다. 이러한 경우 문자열 앞에 u 접두사를 추가해야 합니다. 그렇지 않으면 선택 사항입니다.

QByteArrayLiteral도 참조하세요 .

QT_NO_CAST_FROM_ASCII

8비트 문자열(char *)에서 유니코드 QString으로, 8비트 char 유형(charunsigned char)에서 QChar 로의 자동 변환을 비활성화합니다.

QT_NO_CAST_TO_ASCII, QT_RESTRICTED_CAST_FROM_ASCII, QT_NO_CAST_FROM_BYTEARRAY도 참조하세요 .

QT_NO_CAST_TO_ASCII

QString 에서 8비트 문자열로 자동 변환을 비활성화합니다(char *).

QT_NO_CAST_FROM_ASCII, QT_RESTRICTED_CAST_FROM_ASCII, QT_NO_CAST_FROM_BYTEARRAY도 참조하세요 .

QT_RESTRICTED_CAST_FROM_ASCII

소스 리터럴 및 8비트 데이터에서 유니코드 QString으로의 대부분의 자동 변환을 비활성화하지만 QChar(char)QString(const char (&ch)[N] 생성자 및 QString::operator=(const char (&ch)[N]) 할당 연산자의 사용은 허용합니다. 이렇게 하면 QT_NO_CAST_FROM_ASCII 의 대부분의 유형 안전 이점을 제공하지만 사용자 코드에서 문자 및 문자열 리터럴을 QLatin1Char, QLatin1StringView 또는 이와 유사한 것으로 래핑할 필요가 없습니다.

이 매크로를 7비트 범위를 벗어난 소스 문자열, 리터럴이 아닌 문자열 또는 NUL 문자가 포함된 리터럴과 함께 사용하는 것은 정의되지 않았습니다.

QT_NO_CAST_FROM_ASCIIQT_NO_CAST_TO_ASCII참조하세요 .

const char *qPrintable(const QString &str)

strconst char * 로 반환합니다. 이는 str.toLocal8Bit().constData()와 동일합니다.

qPrintable()이 사용된 문 뒤에는 문자 포인터가 유효하지 않습니다. 이는 QString::toLocal8Bit()에서 반환된 배열이 범위를 벗어나기 때문입니다.

참고: qDebug(), qInfo(), qWarning(), qCritical(), qFatal()는 %s 인수가 UTF-8로 인코딩되기를 기대하지만, qPrintable()은 로컬 8비트 인코딩으로 변환합니다. 따라서 문자열을 로깅하려면 qPrintable() 대신 qUtf8Printable()을 사용해야 합니다.

qUtf8Printable()도 참조하세요 .

const wchar_t *qUtf16Printable(const QString &str)

strconst ushort * 로 반환하지만 경고를 피하기 위해 const wchar_t * 로 캐스팅합니다. 이는 str.utf16()에 약간의 캐스팅을 더한 것과 같습니다.

이 매크로의 반환 값으로 할 수 있는 유일한 유용한 작업은 QString::asprintf()로 전달하여 %ls 변환에 사용하는 것입니다. 특히 반환 값은 유효한 const wchar_t*!

일반적으로 포인터는 qUtf16Printable()이 사용된 문 뒤에서 유효하지 않습니다. 이는 포인터가 범위를 벗어나는 임시 표현식에서 가져왔을 수 있기 때문입니다.

예시:

qWarning("%ls: %ls", qUtf16Printable(key), qUtf16Printable(value));

qPrintable(), qDebug(), qInfo(), qWarning(), qCritical() 및 qFatal()도 참조하세요 .

const char *qUtf8Printable(const QString &str)

strconst char * 로 반환합니다. 이는 str.toUtf8().constData()와 동일합니다.

qUtf8Printable()이 사용된 문 뒤에는 문자 포인터가 유효하지 않습니다. 이는 QString::toUtf8()에서 반환된 배열이 범위를 벗어나기 때문입니다.

예시:

qWarning("%s: %s", qUtf8Printable(key), qUtf8Printable(value));

qPrintable(), qDebug(), qInfo(), qWarning(), qCritical() 및 qFatal()도 참조하세요 .

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.