diff options
Diffstat (limited to 'src/corelib/doc/snippets/code/src_corelib_text_qbytearray.cpp')
-rw-r--r-- | src/corelib/doc/snippets/code/src_corelib_text_qbytearray.cpp | 104 |
1 files changed, 33 insertions, 71 deletions
diff --git a/src/corelib/doc/snippets/code/src_corelib_text_qbytearray.cpp b/src/corelib/doc/snippets/code/src_corelib_text_qbytearray.cpp index a166439659..a4fecc41f9 100644 --- a/src/corelib/doc/snippets/code/src_corelib_text_qbytearray.cpp +++ b/src/corelib/doc/snippets/code/src_corelib_text_qbytearray.cpp @@ -1,52 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause void wrapInFunction() @@ -69,9 +22,9 @@ ba[4] = 0xca; //! [2] -for (int i = 0; i < ba.size(); ++i) { +for (qsizetype i = 0; i < ba.size(); ++i) { if (ba.at(i) >= 'a' && ba.at(i) <= 'f') - cout << "Found character in range [a-f]" << Qt::endl; + cout << "Found character in range [a-f]" << endl; } //! [2] @@ -86,9 +39,9 @@ x.replace(5, 3, "&"); // x == "rock & roll" //! [4] QByteArray ba("We must be <b>bold</b>, very <b>bold</b>"); -int j = 0; +qsizetype j = 0; while ((j = ba.indexOf("<b>", j)) != -1) { - cout << "Found <b> tag at index position " << j << Qt::endl; + cout << "Found <b> tag at index position " << j << endl; ++j; } //! [4] @@ -108,7 +61,7 @@ QByteArray("abc").isEmpty(); // returns false //! [6] QByteArray ba("Hello"); -int n = ba.size(); // n == 5 +qsizetype n = ba.size(); // n == 5 ba.data()[0]; // returns 'H' ba.data()[4]; // returns 'o' ba.data()[5]; // returns '\0' @@ -126,7 +79,7 @@ QByteArray("abc").isEmpty(); // returns false QByteArray ba("Hello world"); char *data = ba.data(); while (*data) { - cout << "[" << *data << "]" << Qt::endl; + cout << "[" << *data << "]" << endl; ++data; } //! [8] @@ -276,22 +229,22 @@ if (url.endsWith(".html")) //! [27] QByteArray x("Pineapple"); -QByteArray y = x.left(4); +QByteArray y = x.first(4); // y == "Pine" //! [27] //! [28] QByteArray x("Pineapple"); -QByteArray y = x.right(5); +QByteArray y = x.last(5); // y == "apple" //! [28] //! [29] QByteArray x("Five pineapples"); -QByteArray y = x.mid(5, 4); // y == "pine" -QByteArray z = x.mid(5); // z == "pineapples" +QByteArray y = x.sliced(5, 4); // y == "pine" +QByteArray z = x.sliced(5); // z == "pineapples" //! [29] @@ -422,7 +375,7 @@ text.data(); // returns "Qt is great!" QByteArray::fromBase64("PHA+SGVsbG8/PC9wPg==", QByteArray::Base64Encoding); // returns "<p>Hello?</p>" QByteArray::fromBase64("PHA-SGVsbG8_PC9wPg==", QByteArray::Base64UrlEncoding); // returns "<p>Hello?</p>" -//! [44bis] +//! [44] //! [44ter] void process(const QByteArray &); @@ -490,13 +443,13 @@ macAddress.toHex(0); // returns "123456abcdef" //! [51] QByteArray text = QByteArray::fromPercentEncoding("Qt%20is%20great%33"); -text.data(); // returns "Qt is great!" +qDebug("%s", text.data()); // reports "Qt is great!" //! [51] //! [52] QByteArray text = "{a fishy string?}"; QByteArray ba = text.toPercentEncoding("{}", "s"); -qDebug(ba.constData()); +qDebug("%s", ba.constData()); // prints "{a fi%73hy %73tring%3F}" //! [52] @@ -505,15 +458,24 @@ QByteArray ba = QByteArrayLiteral("byte array contents"); //! [53] //! [54] -QByteArray ba("abc"); -const char big[10] = "abc"; -ba.compare(big); // returns -1, big is longer than ba +QByteArray encoded("Qt%20is%20great%33"); +QByteArray decoded = encoded.percentDecoded(); // Set to "Qt is great!" +//! [54] -// In contrast: -const char arr[] = "abc"; -ba.compare(arr); // returns 0, both have the same size and data +//! [55] +emscripten::val uint8array = emscripten::val::global("g_uint8array"); +QByteArray byteArray = QByteArray::fromEcmaUint8Array(uint8array); +//! [55] + +//! [56] +QByteArray byteArray = "test"; +emscripten::val uint8array = QByteArray::toEcmaUint8Array(byteArray); +//! [56] + +//! [57] +QByteArray x = "Five pineapples"_ba; +x.slice(5); // x == "pineapples" +x.slice(4, 3); // x == "app" +//! [57] -const char *str = "abc"; -ba.compare(str); // returns 0, the size is determined by scanning for '\0' -//! [54] } |