std :: string / QString生の文字列リテラル定数

文字列にスラッシュが多い場合(正規表現など)、書きやすく、間違いを犯さないように、元の文字列リテラル定数を使用できます。

1. std :: stringの元の文字列リテラル定数

#define debug qDebug()<<
#define cppdebug std::cout <<

int main(int argc, char *argv[])
{
    std::string s = R"(asdfghjkl\n\t\y\z6666\\\\\)";
    cppdebug "cppString " << s;
}

R "(xxx)"の形式は、エスケープせずに文字列 "xxx"を表します。

文字に改行がある場合:

文字列に括弧を含める場合は、前後に3つのアスタリスクを追加します。

2.QStringの元の文字列リテラル定数

QStringの元の文字列リテラル定数はstd :: stringと同じではありません

上に示したように、「\」には「\」が追加されています

上の図に示すように、実際の改行があるstd :: stringとは異なり、改行は「\ n」とスペースを追加することです。 

文字列の角かっこは、std :: string:と一致しています。

おすすめ

転載: blog.csdn.net/kenfan1647/article/details/113809424