![]() |
Главная · Все классы · Основные классы · Классы по группам · Модули · Функции | ![]() |
Класс QByteArray предоставляет массив байт. Далее...
#include <QByteArray>
От него наследуется Q3CString.
Замечание: Все функции в этом классе реентерабельны.
Класс QByteArray предоставляет массив байт.
QByteArray может быть использован для хранения как сырых байт (включая и '\0'), так и традиционных 8-битных нуль-терминированых строк. Использование QByteArray много более удобно, чем использование const char *. Здесь всегда гарантировано, что данные завершаются '\0' и используется неявное совместное использование данных (copy-on-write) для экономии памяти и избежания ненужного копирования данных.
В дополнение к QByteArray, Qt также предоставляет класс QString для хранения строковых данных. Для большинства случаев вам больше подойдет класс QString. Он хранит 16-битные символы Unicode, делая более простым сохранение не-ASCII/Latin-1 символов в вашем приложении. Кроме того, QString используется всюду в Qt API. Два основных случая, когда нужно применять QByteArray - когда нужно хранить сырые двоичные данные и когда приложение критично к памяти (например, в Qtopia Core).
Один из способов инициализации QByteArray - просто передать const char * в конструктор. Например, следующий код создает массив из 5 байт, содержащий данные "Hello":
QByteArray ba("Hello");
Несмотря на то, что size() равен 5, байтовый массив также содержит в конце дополнительный символ '\0', так что, если используется функция, требующая указатель на непосредственно данные, (т.е. вызов data()), то эти данные будут гарантированно заканчиваться '\0'.
QByteArray делает полную копию данных const char *, так что вы можете модифицировать их без возникновения побочных эффектов. (Если, из соображения производительности, вы не хотите делать полное копирование данных, используйте QByteArray::fromRawData().)
Другой способ - установить размер массива, используя resize() и инициализировать данные байт за байтом. QByteArray использует индексы начинающиеся с 0, как принято в массивах C++. Для доступа к байту в конкретной позиции индекса, вы можете использовать оператор [](). В неконстантных массивах оператор []() возвращает ссылку на байт, которая может быть использована с левой стороны операции присваивания. Например:
QByteArray ba; ba.resize(5); ba[0] = 0x3c; ba[1] = 0xb8; ba[2] = 0x64; ba[3] = 0x18; ba[4] = 0xca;
Для доступа "только для чтения", существует альтернативный синтаксис at():
for (int i = 0; i < ba.size(); ++i) { if (ba.at(i) >= 'a' && ba.at(i) <= 'f') cout << "Found character in range [a-f]" << endl; }
at() может работать быстрее, чем оператор [](), потому что при этом не происходит полного копирования.
Чтобы извлечь множество байт за раз, используйте left(), right() или mid().
QByteArray может вставлять байты '\0'. Функция size() всегда возвращает размер всего массива, включая вставленные '\0'. Если вы хотите получить длину данных вплоть до первого символа '\0', но не включая его, вызовите для массива qstrlen().
После вызова resize(), перераспределенные байты будут иметь неопределенные значения. Чтобы установить все байты в конкретные значения, вызовите fill().
Чтобы получить указатель непосредственно на символьные данные, вызовите data() или constData(). Эти функции возвращают указатель на начало данных. Указатель гарантировано остаётся правильным до тех пор, пока не будет вызвана неконстантная функция на QByteArray. Это также гарантирует, что данные заканчиваются байтом '\0'. Этот байт '\0' автоматически предоставляется классом QByteArray и не учитывается в size().
QByteArray предоставляет следующие основные функции для модификации байт данных: append(), prepend(), insert(), replace() и remove(). Например:
QByteArray x("and"); x.prepend("rock "); // x == "rock and" x.append(" roll"); // x == "rock and roll" x.replace(5, 3, "&"); // x == "rock & roll"
В функциях replace() и remove() первые два аргумента указывают на позицию, от которой начинается удаление, и количество байт, которое должно быть удалено.
Когда вы добавляете данные с помощью append() в непустой массив, масив будет перераспределен (в памяти) и новые данные будут скопированы в него. Вы можете избежать этого поведения, вызвав функцию reserve(), которая выделит точное количество памяти. Вы также можете вызвать capacity(), чтобы узнать, как много памяти занимает QByteArray в действительности. Данные, добавляемые в пустой массив, не копируются.
Частое требование - удалить пробельные символы (whitespace) из массива ('\n', '\t', ' ' и т.п.). Если вы хотите удалить пробельные символы с обоих концов QByteArray, используйте trimmed(). Если вы хотите удалить пробельные символы с обоих концов и заменить последовательные пробельные символы одним пробелом внутри байтового массива, используйте simplified().
Если вы хотите найти все совпадения конкретного символа или подстроки в QByteArray, используйте indexOf() или lastIndexOf(). Первая функция осуществляет поиск вперед от указанной позиции, а последняя - осуществляет поиск назад. Обе функции возвращают индекс позиции символа или подстроки, если они были найдены, в противном случае возвращается -1. Например, здесь приведен типичный цикл, который находит все совпадения конкретной подстроки:
QByteArray ba("We must be <b>bold</b>, very <b>bold</b>"); int j = 0; while ((j = ba.indexOf("<b>", j)) != -1) { cout << "Found <b> tag at index position " << j << endl; ++j; }
Если вы просто хотите только проверить, содержит ли QByteArray конкретный символ или подстроку, используйте contains(). Если вы хотите узнать, сколько раз конкретный символ или подстрока встречаются в массиве, используйте count(). Если вы хотите заменить все совпадения конкретного значение на другое, используйте одну из двух перегруженных функций replace() принимающих два параметра.
QByteArray могут сравниваться, используя перегруженные операторы такие, как<(), <=(), ==(), >=() и т.д. Сравнение базируется исключительно на числовых значениях символов и и очень быстро, но это не то, что ожидал бы человек. Функция QString::localeAwareCompare() - лучший выбор для сортировки строк пользовательского интерфейса.
По историческим причинам, в QByteArray существует различие между неинициализированным (null byte) массивом и пустым (empty) массивом. Неинициализированный (null) массив - это массив, который инициализируется с помощью конструктора QByteArray по умолчанию или конструктором с аргументом (const char *)0. Пустой (empty) массив - это любой массив, имеющий размер 0. Неинициализированный (null) массив всегда пустой (empty), но пустой массив необязательно будет неинициализированным:
QByteArray().isNull(); // вернёт true QByteArray().isEmpty(); // вернёт true QByteArray("").isNull(); // вернёт false QByteArray("").isEmpty(); // вернёт true QByteArray("abc").isNull(); // returns false QByteArray("abc").isEmpty(); // вернёт false
Все функции, за исключением isNull(), рассматривают неинициализированный (null) массив, как пустой (empty). Например, data() вернет указатель на '\0' для неинициализированного (null) массива (не указатель null), а QByteArray(), при сравнении, равен QByteArray(""). Мы рекомендуем вам всегда использовать isEmpty() и избегать isNull().
В QByteArray понятие о верхнем и нижнем регистре символов, и который из символов "больше чем" или "меньше чем" другой - являются зависимыми от локали. Это касается функций, которые поддерживают параметры регистрозависимости или, которые сравнивают свои аргументы в верхнем или нижнем регистрах. Нерегистрозависимые операции и сравнения будут точны, если обе строки содержат только ASCII символы. (Если установлен $LC_CTYPE, большинство Unix систем делают "правильные вещи".) Это касается следующих функций contains(), indexOf(), lastIndexOf(), operator<(), operator<=(), operator>(), operator>=(), toLower() и toUpper().
Это вопрос не касается строк QString, так как они представляют символы используя Unicode.
Смотрите также QString и QBitArray.
Конструирует неинициализированный байтовый массив.
Смотрите также isEmpty().
Конструирует байтовый массив, проинициализированный строкой str.
QByteArray делает глубокую (полную) копию строки.
Конструирует байтовый массив, содержащий первые size байт из массива data.
Если data равен 0, создастся неинициализированный массив.
QByteArray делает глубокую (полную) копию строки.
Смотрите также fromRawData().
Конструирует байтовый массив размером size, каждый байт которого проинициализирован символом ch.
Смотрите также fill().
Создаёт копию other.
Эта операция требует постоянного времени, потому что QByteArray является классом с неявным совместным использованием данных. Это делает возвращение QByteArray, как результата функции, очень быстрым. Если экземпляр с разделением данных изменяется, то он будет скопирован (copy-on-write), и это потребует линейного времени.
Смотрите также operator=().
Уничтожает байтовый массив.
Добавляет массив ba в конец этого массива.
Пример:
QByteArray x("free");
QByteArray y("dom");
x.append(y);
// x == "freedom"
То же самое, что и insert(size(), ba).
Обычно, это очень быстрая операция (занимающая постоянное время), потому что QByteArray резервирует дополнительное место после данных так, что он может расти без перераспределения внутренних данных при каждом изменении размера массива.
Смотрите также operator+=(), prepend() и insert().
Это перегруженная функция, предоставленная для удобства.
Добавляет строку str в этот массив. Данные в кодировке Unicode конвертируются в 8-битныные символы с помощью QString::toAscii().
Если QString содержит не-ASCII Unicode символы, использование этой функции может привести к потере информации. Вы можете запретить эту функцию объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вы должны будете явно вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()) , если вам нужно конвертировать данные в const char *.
Это перегруженная функция, предоставленная для удобства.
Добавляет строку str в этот массив.
Это перегруженная функция, предоставленная для удобства.
Добавляет символ chв этот массив.
Возвращает символ из массива находящегося в позиции с индексом i.
i должен быть действительным индексом в массиве (т.е. 0 <= i < size()).
Смотрите также operator[]().
Возвращает максимальное число байт, которое может быть сохранено в массиве без дополнительного перераспределения памяти.
Единственная цель этой функции обеспечить оптимальное использование памяти в QByteArray . Вообще, у вас крайне редко возникнет необходимость вызывать эту функцию. Если вы хотите узнать сколько байт находится в массиве, вызовите size().
Смотрите также reserve() и squeeze().
Удаляет n байт из конца массива.
Если n больше чем size(), то вы получите пустой массив.
Пример:
QByteArray ba("STARTTLS\r\n");
ba.chop(2); // ba == "STARTTLS"
Смотрите также truncate(), resize() и left().
Очищает содержимое массива и делает его пустым.
Смотрите также resize() и isEmpty().
Возвращает указатель на данные хранящиеся массиве. Указатель можно использовать для доступа к байтам, которые составляют массив. Данные завершаются символом '\0'. Указатель остается действительным до тех пор, пока массив не будет перераспределен в памяти.
Эта функция наиболее полезна для передачи байтового массива в функцию, которая принимает аргумент const char *.
Замечание: QByteArray может хранить любые значения байт, включая '\0', но большинство функций, которые принимают в качестве аргумента char * предполагают, что данные завершаются первым встретившимся '\0'.
Смотрите также data() и operator[]().
Возвращает true, если массив содержит в себе массив ba; в противном случае возвращает false.
Смотрите также indexOf() и count().
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если массив содержит строку str; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если массив содержит символ ch; в противном случае возвращает false.
Возвращает количество (возможно перекрывающихся) вхождений массива ba в этот массив.
Смотрите также contains() и indexOf().
Это перегруженная функция, предоставленная для удобства.
Возвращает количество (возможно перекрывающихся) вхождений строки str в массив.
Это перегруженная функция, предоставленная для удобства.
Возвращает количество вхождений символа ch в массив.
Смотрите также contains() и indexOf().
Это перегруженная функция, предоставленная для удобства.
То же, что и size().
Возвращает указатель на данные хранящиеся массиве. Указатель можно использовать для доступа и изменения данных, которые составляют массив. Данные завершаются символом '\0'.
Пример:
QByteArray ba("Hello world"); char *data = ba.data(); while (*data) { cout << "[" << *data << "]" << endl; ++data; }
Указатель остается действительным до тех пор, пока массив не будет перераспределен в памяти. Для доступа только для чтения, функция constData() работает быстрее, потому что она никогда не делает глубокое копирование данных.
Эта функция наиболее полезна для передачи байтового массива в функцию, которая принимает аргумент const char *.
Замечание: QByteArray может хранить любые значения байт, включая '\0', но большинство функций, которые принимают в качестве аргумента char * предполагают, что данные завершаются первым встретившимся '\0'.
Смотрите также constData() и operator[]().
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если этот массив заканчивается массивом ba; в противном случае возвращает false.
Пример:
QByteArray url("http://www.trolltech.com/index.html");
if (url.endsWith(".html"))
...
Смотрите также startsWith() и right().
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если массив заканчивается строкой str; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если массив заканчивается символом ch; в противном случае возвращает false.
Присваивает каждому байту массива значение ch. Если size отличен от -1 (по умолчанию), то размер массива предварительно изменяется до size.
Пример:
QByteArray ba("Istambul"); ba.fill('o'); // ba == "oooooooo" ba.fill('X', 2); // ba == "XX"
Смотрите также resize().
Возвращает копию массива base64, декодированного из кодировки Base64. Входной массив не проверяется на действительность; неверные символы входного массива пропускаются, позволяя продолжить процесс декодирования со следующего символа.
Например:
QByteArray text = QByteArray::fromBase64("UXQgaXMgZ3JlYXQh");
text.data(); // вернёт "Qt is great!"
Алгоритм, использующийся при декодировании из кодировки Base64, определен вRFC 2045.
Смотрите также toBase64().
Возвращает копию массива hexEncoded, декодированного из шестнадцатеричного представления. Входной массив не проверяется на действительность; неверные символы входного массива пропускаются, позволяя продолжить процесс декодирования со следующего символа.
Например:
QByteArray text = QByteArray::fromHex("517420697320677265617421");
text.data(); // вернёт "Qt is great!"
Смотрите также toHex().
Создаёт QByteArray, который использует первые size символов в массив data. Байты в data не копировались. Вызывающий должен быть способен обеспечить, что data не будет удаляться или модифицироваться до тех пор, пока существует QByteArray (или его немодифицированная копия).
Любые попытки изменить QByteArray или ее копии приведет к глубокому копированию информации, чтобы гарантировать неизменность сырых данных.
Вот пример того, как можно читать данные, используя QDataStream на сырых данных в памяти без того, чтобы копировать их в QByteArray:
static const char mydata[] = { 0x00, 0x00, 0x03, 0x84, 0x78, 0x9c, 0x3b, 0x76, 0xec, 0x18, 0xc3, 0x31, 0x0a, 0xf1, 0xcc, 0x99, ... 0x6d, 0x5b }; QByteArray data = QByteArray::fromRawData(mydata, sizeof(mydata)); QDataStream in(&data, QIODevice::ReadOnly); ...
Предупреждение: Байтовый массив, созданный с помощью fromRawData() не оканчивается нулем, за исключением исходных данных содержащих символ '\0' в позиции size. В то время как это не имеет значения для QDataStream или функций, подобных indexOf(), передача байтового массива в функцию, принимающую const char * и ожидающую строку с завершающим символом '\0', потерпит неудачу.
Смотрите также data() и constData().
Возвращает индекс позиции первого вхождения массива ba в этот массив, поиск осуществляется вперед начиная с позиции с индексом from. Возвращает -1, если ba не может быть найден.
Пример:
QByteArray x("sticky question"); QByteArray y("sti"); x.indexOf(y); // вернёт 0 x.indexOf(y, 1); // вернёт 10 x.indexOf(y, 10); // вернёт 10 x.indexOf(y, 11); // вернёт -1
Смотрите также lastIndexOf(), contains(), и count().
Это перегруженная функция, предоставленная для удобства.
Возвращает индекс позиции первого вхождения строки str в массив, поиск осуществляется вперед начиная с позиции с индексом from. Возвращает -1, если str не может быть найдена.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Если QString содержит не-ASCII Unicode символы, использование этой функции может привести к потере информации. Вы можете запретить эту функцию объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вы должны будете явно вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()) , если вам нужно конвертировать данные в const char *.
Это перегруженная функция, предоставленная для удобства.
Возвращает индекс позиции первого вхождения строки str в массив, поиск осуществляется вперед начиная с позиции с индексом from. Возвращает -1, если str не может быть найдена.
Это перегруженная функция, предоставленная для удобства.
Возвращает индекс позиции первого вхождения символа ch в массиве, поиск осуществляется вперед начиная с позиции с индексом from. Возвращает -1, если ch не может быть найден.
Пример:
QByteArray ba("ABCBA"); ba.indexOf("B"); // вернёт 1 ba.indexOf("B", 1); // вернёт 1 ba.indexOf("B", 2); // вернёт 3 ba.indexOf("X"); // вернёт -1
Смотрите такжеlastIndexOf() и contains().
Вставляет массив ba в позицию с индексом i и возвращает ссылку на этот массив.
Пример:
QByteArray ba("Meal");
ba.insert(1, QByteArray("ontr"));
// ba == "Montreal"
Смотрите также append(), prepend(), replace(), и remove().
Это перегруженная функция, предоставленная для удобства.
Вставляет в массив строку str в позицию с индексом i. Данные в Unicode конвертируются в 8-битные символы используя функцию QString::toAscii().
Если i больше чем size(), массив сперва будет расширен с помощью resize().
Если QString содержит не-ASCII Unicode символы, использование этой функции может привести к потере информации. Вы можете запретить эту функцию объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вы должны будете явно вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()) , если вам нужно конвертировать данные в const char *.
Это перегруженная функция, предоставленная для удобства.
Вставляет в массив строку str в позицию с индексом i.
Если i больше чем size(), массив сперва будет расширен с помощью resize().
Это перегруженная функция, предоставленная для удобства.
Вставляет в массив символ ch в позицию с индексом i. Если i больше чем size(), массив, сначала, будет увеличен используя функцию resize().
Возвращает true, если массив имеет размер 0; в противном случае возвращает false.
Пример:
QByteArray().isEmpty(); // вернёт true QByteArray("").isEmpty(); // вернёт true QByteArray("abc").isEmpty(); // вернёт false
Смотрите также size().
Возвращает true, если массив не инициализирован; в противном случае возвращает false.
Пример:
QByteArray().isNull(); // вернёт true QByteArray("").isNull(); // вернёт false QByteArray("abc").isNull(); // вернёт false
Qt делает различия между не инициализированным и пустым массивом по историческим причинам. Для большинства приложений имеет значение, содержит ли массив данные или нет, и это можно определить используя функцию isEmpty().
Смотрите также isEmpty().
Возвращает индекс позиции последнего вхождения массива ba в этот массив, поиск осуществляется назад начиная с позиции с индексом from. Если from равен -1 (по умолчанию), поиск начинается с последнего байта. Возвращает -1, если ba не может быть найден.
Пример:
QByteArray x("crazy azimuths"); QByteArray y("azy"); x.lastIndexOf(y); // вернёт 6 x.lastIndexOf(y, 6); // вернёт 6 x.lastIndexOf(y, 5); // вернёт 2 x.lastIndexOf(y, 1); // вернёт -1
Смотрите также indexOf(), contains() и count().
Это перегруженная функция, предоставленная для удобства.
Возвращает индекс позиции последнего вхождения строки str в массив, поиск осуществляется назад начиная с позиции с индексом from. Если from равен -1 (по умолчанию), поиск начинается с последнего (size() - 1) байта. Возвращает -1, если str не может быть найдена.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Если QString содержит не-ASCII Unicode символы, использование этой функции может привести к потере информации. Вы можете запретить эту функцию объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вы должны будете явно вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()) , если вам нужно конвертировать данные в const char *.
Это перегруженная функция, предоставленная для удобства.
Возвращает индекс позиции последнего вхождения строки str в массив, поиск осуществляется назад начиная с позиции с индексом from. Если from равен -1 (по умолчанию), поиск начинается с последнего (size() - 1) байта. Возвращает -1, если str не может быть найдена.
Это перегруженная функция, предоставленная для удобства.
Возвращает индекс позиции последнего вхождения символа ch в массив, поиск осуществляется назад начиная с позиции с индексом from. Если from равен -1 (по умолчанию), поиск начинается с последнего (size() - 1) байта. Возвращает -1, если ch не может быть найден.
Пример:
QByteArray ba("ABCBA"); ba.lastIndexOf("B"); // вернёт 3 ba.lastIndexOf("B", 3); // вернёт 3 ba.lastIndexOf("B", 2); // вернёт 1 ba.lastIndexOf("X"); // вернёт -1
Смотрите также indexOf() и contains().
Возвращает массив, содержащий len крайних слева байт из исходного массива.
Массив будет возвращен полностью, если len больше, чем size().
Пример:
QByteArray x("Pineapple");
QByteArray y = x.left(4);
// y == "Pine"
Смотрите также right(), mid(), startsWith() и truncate().
Возвращает массив размером width, который содержит этот массив, дополненный символом fill.
Если truncate равно false и size() массива больше, чем width, то возвращается копия этого массива.
Если truncate равно true и size() массива больше, чем width, то возвращается копия массива, у которой байты после позиции width отсечены.
Пример:
QByteArray x("apple");
QByteArray y = x.leftJustified(8, '.'); // y == "apple..."
Смотрите также rightJustified().
То же, что и size().
Возвращает массив, содержащий len байт из этого массива, начиная с позиции pos.
Если len равно -1 (по умолчанию), или pos + len >= size(), то возвращается массив, содержащий все байты, начиная с позиции pos и до конца массива.
Пример:
QByteArray x("Five pineapples"); QByteArray y = x.mid(5, 4); // y == "pine" QByteArray z = x.mid(5); // z == "pineapples"
Смотрите также left() и right().
Возвращает массив, содержащий строку, эквивалентную числу n с основанием системы счисления base (по умолчанию 10). Параметр base может быть любым значением от 2 до 36.
Пример:
int n = 63; QByteArray::number(n); // вернёт "63" QByteArray::number(n, 16); // вернёт "3f" QByteArray::number(n, 16).toUpper(); // вернёт "3F"
Смотрите также setNum() и toInt().
Это перегруженная функция, предоставленная для удобства.
Смотрите также toUInt().
Это перегруженная функция, предоставленная для удобства.
Смотрите также toLongLong().
Это перегруженная функция, предоставленная для удобства.
Смотрите также toULongLong().
Это перегруженная функция, предоставленная для удобства.
Возвращает массив, который содержит печатаемое значение n, представленное в формате f с точностью prec.
Аргумент n форматируется в соответствии с форматом f, определенному по умолчанию как g, и может быть одним из следующих:
Формат | Значение |
---|---|
e | форматируется как [-]9.9e[+|-]999 |
E | форматируется как [-]9.9E[+|-]999 |
f | форматируется как [-]9.9 |
g | используется тот формат ( e или f), который окажется короче |
G | используется тот формат ( E или f), который окажется короче |
Для 'e', 'E' и 'f' параметр prec указывает количество цифр после точки. Для 'g' и 'G' параметр prec указывает максимальное количество значащих цифр (замыкающие нули опускаются).
QByteArray ba = QByteArray::number(12.3456, 'E', 3);
// ba == 1.235E+01
Смотрите также toDouble().
Добавляет массив ba перед этим массивом и возвращает ссылку на этот массив массив.
Пример:
QByteArray x("ship");
QByteArray y("air");
x.prepend(y);
// x == "airship"
Это то же самое, что и insert(0, ba).
Смотрите также append() и insert().
Это перегруженная функция, предоставленная для удобства.
Добавляет строку str перед этим массивом.
Это перегруженная функция, предоставленная для удобства.
Добавляет символ chперед этим массивом.
Эта функция предоставлена для совместимости с STL. Это эквивалентно append(other).
Это перегруженная функция, предоставленная для удобства.
Тоже самое, что и append(str).
Это перегруженная функция, предоставленная для удобства.
Тоже самое, что и append(ch).
Эта функция предоставлена для совместимости с STL. Это эквивалентно prepend(other).
Это перегруженная функция, предоставленная для удобства.
Тоже самое, что и prepend(str).
Это перегруженная функция, предоставленная для удобства.
Тоже самое, что и prepend(ch).
Удаляет len байт из массива, начиная с позиции с индексом pos, и возвращает ссылку на массив.
Если pos вне диапазона, ничего не происходит. Если pos действительный, но pos + len больше, чем размер массива, то массив усекается по позиции pos.
Пример:
QByteArray ba("Montreal");
ba.remove(1, 4);
// ba == "Meal"
Смотрите также insert() и replace().
Заменяет len байт начиная с позиции с индексом pos на байтовый массив after, и возвращает ссылку на этот массив.
Пример:
QByteArray x("Say yes!");
QByteArray y("no");
x.replace(4, 3, y);
// x == "Say no!"
Смотрите также insert() и remove().
Это перегруженная функция, предоставленная для удобства.
Это перегруженная функция, предоставленная для удобства.
Заменяет каждое вхождение массива before на массив after.
Пример:
QByteArray ba("colour behaviour flavour neighbour");
ba.replace(QByteArray("ou"), QByteArray("o"));
// ba == "color behavior flavor neighbor"
Это перегруженная функция, предоставленная для удобства.
Заменяет каждое вхождение строки before на массив after.
Это перегруженная функция, предоставленная для удобства.
Заменяет каждое вхождение массива before на строку after.
Это перегруженная функция, предоставленная для удобства.
Заменяет каждое вхождение строки before на массив after. Данные в Unicode конвертируются в 8-битные символы используя функцию QString::toAscii().
Если QString содержит не-ASCII Unicode символы, использование этой функции может привести к потере информации. Вы можете запретить эту функцию объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вы должны будете явно вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()) , если вам нужно конвертировать данные в const char *.
Это перегруженная функция, предоставленная для удобства.
Заменяет каждое вхождение строки before на строку after.
Это перегруженная функция, предоставленная для удобства.
Заменяет каждое вхождение строки before на строку after.
Это перегруженная функция, предоставленная для удобства.
Заменяет каждое вхождение символа before на массив after.
Это перегруженная функция, предоставленная для удобства.
Заменяет каждое вхождение символа before на строку after. Данные в Unicode конвертируются в 8-битные символы используя функцию QString::toAscii().
Если QString содержит не-ASCII Unicode символы, использование этой функции может привести к потере информации. Вы можете запретить эту функцию объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вы должны будете явно вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()) , если вам нужно конвертировать данные в const char *.
Это перегруженная функция, предоставленная для удобства.
Заменяет каждое вхождение символа before на строку after.
Это перегруженная функция, предоставленная для удобства.
Заменяет каждое вхождение символа before на символ after.
Пытается выделить память размером по крайней мере size байт. Если вы знаете наперёд насколько большим будет массив, вы можете вызвать эту функцию, и, если вы вызываете resize() много раз, то, возможно, получите лучшую производительность. Если size недооценён, то самое худшее, что может произойти это то, что QByteArray будет работать медленнее.
Единственная цель этой функции обеспечить оптимальное использование памяти в QByteArray . Вообще, у вас крайне редко возникнет необходимость вызывать эту функцию. Если вы хотите изменить размер массива, вызовите resize().
Смотрите также squeeze() и capacity().
Устанавливает размер массива в size байт.
Если size больше чем текущий размер, байтовый массив увеличится до size байт, добавив дополнительные байты в конец. Новые байты не инициализированы.
Если size меньше, чем текущий размер, то байты будут удалены с конца массива.
Смотрите также size().
Возвращает массив, содержащий len крайних справа байт из этого массива.
Массив будет возвращен полностью, если len больше, чем size().
Пример:
QByteArray x("Pineapple");
QByteArray y = x.right(5);
// y == "apple"
Смотрите также endsWith(), left() и mid().
Возвращает байтовый массив размером width, который содержит символы заполнители fill за которыми следует этот массив.
Если truncate равно false и размер массива больше, чем width, то возвращается массив являющийся копией этого массива.
Если truncate равен true и размер массива больше, чем width, то возвращается массив, усечённый в позиции width.
Пример:
QByteArray x("apple");
QByteArray y = x.rightJustified(8, '.'); // y == "...apple"
Смотрите также leftJustified().
Устанавливает массив в печатное представление числа n по основанию base (по умолчанию 10) и возвращает ссылку на массив. Параметр base может быть любым значением от 2 до 36.
Пример:
QByteArray ba; int n = 63; ba.setNum(n); // ba == "63" ba.setNum(n, 16); // ba == "3f"
Смотрите также number() и toInt().
Это перегруженная функция, предоставленная для удобства.
Смотрите также toUInt().
Это перегруженная функция, предоставленная для удобства.
Смотрите также toShort().
Это перегруженная функция, предоставленная для удобства.
Смотрите также toUShort().
Это перегруженная функция, предоставленная для удобства.
Смотрите также toLongLong().
Это перегруженная функция, предоставленная для удобства.
Смотрите также toULongLong().
Это перегруженная функция, предоставленная для удобства.
Устанавливает массив в печатное представление числа n, представленное в формате f с точностью prec и возвращает ссылку на байтовый массив.
Формат f может быть следующим:
Формат | Значение |
---|---|
e | форматируется как [-]9.9e[+|-]999 |
E | форматируется как [-]9.9E[+|-]999 |
f | форматируется как [-]9.9 |
g | используется тот формат ( e или f), который окажется короче |
G | используется тот формат ( E или f), который окажется короче |
Для 'e', 'E' и 'f' параметр prec указывает количество цифр после точки. Для 'g' и 'G' параметр prec указывает максимальное количество значащих цифр (замыкающие нули опускаются).
Смотрите также toDouble().
Это перегруженная функция, предоставленная для удобства.
Устанавливает массив в печатное представление числа n, представленное в формате f с точностью prec и возвращает ссылку на байтовый массив.
Смотрите также toFloat().
Возвращает байтовый массив, у которого удалены пробельные символы в начале и в конце, и у которого все последовательные пробельные символы заменены одиночным пробелом.
Пробельными символами являются любые символы, для которых стандартная функция C++ isspace() возвращает true. Они включают ASCII символы '\t', '\n', '\v', '\f', '\r' и ' '.
Пример:
QByteArray ba(" lots\t of\nwhitespace\r\n ");
ba = ba.simplified();
// ba == "lots of whitespace";
Смотрите также trimmed().
Возвращает количество байт в этом массиве.
Последний байт в массиве находится в позиции size() - 1. В дополнение, QByteArray гарантирует, что байт в позиции size() всегда содержит '\0', так что вы можете использовать значение, возвращаемое функциями data() и constData() в качестве аргумента для функций, ожидающих строки, оканчивающиеся '\0'.
Пример:
QByteArray ba("Hello"); int n = ba.size(); // n == 5 ba.data()[0]; // вернёт 'H' ba.data()[4]; // вернёт 'o' ba.data()[5]; // вернёт '\0'
Смотрите также isEmpty() и resize().
Разделяет массив на подмассивы там, где встречается символ sep , и возвращает список этих массивов. Если sep не встречается в массиве, split() вернет список, состоящий из одного элемента, содержащего весь массив.
Освобождает любую память, не требующуюся для хранения данных массива.
Единственная цель этой функции обеспечить оптимальное использование памяти в QByteArray . Вообще, у вас крайне редко возникнет необходимость вызывать эту функцию.
Смотрите также reserve() и capacity().
Возвращает true, если этот массив начинается с массива ba; в противном случае возвращает false.
Пример:
QByteArray url("ftp://ftp.trolltech.com/");
if (url.startsWith("ftp:"))
...
Смотрите также endsWith() и left().
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если массив начинается со строки str; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если массив начинается с символа ch; в противном случае возвращает false.
Возвращает копию массива, кодировке Base64.
QByteArray text("Qt is great!");
text.toBase64(); // вернёт "UXQgaXMgZ3JlYXQh"
Алгоритм, использующийся при кодировании в кодировке Base64, определен в RFC 2045.
Смотрите также fromBase64().
Возвращает массив преобразованный в значение типа double.
Вернёт 0.0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
QByteArray string("1234.56");
double a = string.toDouble(); // a == 1234.56
Смотрите также number().
Возвращает массив преобразованный в значение типа float.
Вернёт 0.0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Смотрите также number().
Возвращает копию массива, преобразованного в шестнадцатиричный вид. Шестнадцатеричное представление использует цифры 0-9 и буквы a-f.
Смотрите также fromHex().
Возвращает массив преобразованный в значение типа int, используя систему исчисления base, которая по умолчанию равна 10 и должна быть любым числом от 2 до 36 или 0.
Если base равно 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x", это шестнадцатеричное представление; если массив начинается с "0", это восьмеричное представление числа; в противном случае это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
QByteArray str("FF"); bool ok; int hex = str.toInt(&ok, 16); // hex == 255, ok == true int dec = str.toInt(&ok, 10); // dec == 0, ok == false
Смотрите также number().
Возвращает массив преобразованный в значение типа long, используя систему исчисления по основанию base, которая по умолчанию равна 10 и должна быть любым числом от 2 до 36 или 0.
Если base равно 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x", это шестнадцатеричное представление; если массив начинается с "0", это восьмеричное представление числа; в противном случае это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
QByteArray str("FF"); bool ok; long hex = str.toLong(&ok, 16); // hex == 255, ok == true long dec = str.toLong(&ok, 10); // dec == 0, ok == false
Эта функция была введена в Qt 4.1.
Смотрите также number().
Возвращает массив преобразованный в значение типа long long, используя систему исчисления по основанию base, которая по умолчанию равна 10 и должна быть любым числом от 2 до 36 или 0.
Если base равно 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x", это шестнадцатеричное представление; если массив начинается с "0", это восьмеричное представление числа; в противном случае это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Смотрите также number().
Возвращает копию массива с символами в нижнем регистре. Массив воспринимается как строка в кодировке Latin-1.
Пример:
QByteArray x("TROlltECH");
QByteArray y = x.toLower();
// y == "trolltech"
Смотрите также toUpper() и Обратите внимание на сравнение 8-битовых символов.
Возвращает массив преобразованный в значение типа short, используя систему исчисления по основанию base, которая по у молчанию равна 10 и должна быть любым числом от 2 до 36 или 0.
Если base равно 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x", это шестнадцатеричное представление; если массив начинается с "0", это восьмеричное представление числа; в противном случае это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Смотрите также number().
Возвращает массив преобразованный в значение типа unsigned int, используя систему исчисления по основанию base, которая по умолчанию равна 10 и должна быть любым числом от 2 до 36 или 0.
Если base равно 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x", это шестнадцатеричное представление; если массив начинается с "0", это восьмеричное представление числа; в противном случае это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Смотрите также number().
Возвращает массив преобразованный в значение типа unsigned long int, используя систему исчисления по основанию base, которая по умолчанию равна 10 и должна быть любым числом от 2 до 36 или 0.
Если base равно 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x", это шестнадцатеричное представление; если массив начинается с "0", это восьмеричное представление числа; в противном случае это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Эта функция была введена в Qt 4.1.
Смотрите также number().
Возвращает массив преобразованный в значение типа unsigned long long, используя систему исчисления по основанию base, которая по умолчанию равна 10 и должна быть любым числом от 2 до 36 или 0.
Если base равно 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x", это шестнадцатеричное представление; если массив начинается с "0", это восьмеричное представление числа; в противном случае это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Смотрите также number().
Возвращает массив преобразованный в значение типа unsigned short, используя систему исчисления по основанию base, которая по умолчанию равна 10 и должна быть любым числом от 2 до 36 или 0.
Если base равно 0, то система исчисления определяется автоматически по следующим правилам: если массив начинается с "0x", это шестнадцатеричное представление; если массив начинается с "0", это восьмеричное представление числа; в противном случае это десятичное представление.
Возвращает 0, если преобразование не удалось.
Если ok не 0: если произошла ошибка, то *ok будет установлен в false; в противном случае *ok будет установлен в true.
Смотрите также number().
Возвращает копию массива в верхнем регистре. Массив воспринимается как строка в кодировке Latin-1.
Пример:
QByteArray x("TROlltECH");
QByteArray y = x.toUpper();
// y == "TROLLTECH"
Смотрите также toLower() и Обратите внимание на сравнение 8-битовых символов.
Возвращает массив, у которого в начале и в конце удалены пробельные символы.
Пробельными символами являются любые символы, для которых стандартная функция C++ isspace() возвращает true. Они включают ASCII символы '\t', '\n', '\v', '\f', '\r' и ' '.
Пример:
QByteArray ba(" lots\t of\nwhitespace\r\n ");
ba = ba.trimmed();
// ba == "lots\t of\nwhitespace";
В отличие от simplified(), trimmed() удаляет и внутренние пробельные символы.
Смотрите также simplified().
Усекает байтовый массив в позиции с индексом pos.
Если pos выходит за пределы массива, ничего не происходит.
Пример:
QByteArray ba("Stockholm");
ba.truncate(5); // ba == "Stock"
Смотрите также chop(), resize() и left().
Возвращает указатель на данные хранящиеся массиве. Указатель можно использовать для доступа к байтам, которые составляют массив. Данные завершаются символом '\0'. Указатель остается действительным до тех пор, пока массив не будет перераспределен в памяти.
Этот оператор в основном используется для передачи массива в функцию, которая принимает const char *.
Замечание: QByteArray может хранить любые значения байт, включая '\0', но большинство функций, которые принимают в качестве аргумента char * предполагают, что данные завершаются первым встретившимся '\0'.
Смотрите также constData().
Возвращает void-указатель на данные.
Этот оператор в основном используется для передачи массива в функции, которые принимают void *.
Смотрите также constData().
Возвращает true, если этот байтовый массив не равен строке str; в противном случае возвращает false.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Сравнение чувствительно к регистру.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вам нужно явно вызывать QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8() или QString::fromLocal8Bit(), если вы хотите преобразовать байтовый массив в QString перед тем, как выполнить сравнение.
Добавляет байтовый массив ba в конец этого байтового массива и возвращает ссылку на этот байтовый массив.
Пример:
QByteArray x("free");
QByteArray y("dom");
x += y;
// x == "freedom"
Обычно, это очень быстрая операция (занимающая постоянное время), потому что QByteArray резервирует дополнительное место после данных так, что он может расти без перераспределения внутренних данных при каждом изменении размера массива.
Смотрите также append() и prepend().
Это перегруженная функция, предоставленная для удобства.
Добавляет строку str в конец этого байтового массива и возвращает ссылку на этот байтовый массив. Данные в кодировке Unicode конвертируются в 8-битныные символы с помощью QString::toAscii().
Если в QString содержатся не ASCII символы в кодировке Unicode, использование этого оператора может привести к потере информации. Вы можете запретить использование этого оператора, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией вашего приложения Теперь вы должны будете явно вызвать QString::toAscii() (или QString::toLatin1(), или QString::toUtf8(), или QString::toLocal8Bit()) , если вам нужно конвертировать данные в const char *.
Это перегруженная функция, предоставленная для удобства.
Добавляет строку str в конец этого байтового массива и возвращает ссылку на этот байтовый массив.
Это перегруженная функция, предоставленная для удобства.
Добавляет символ ch в конец этого байтового массива и возвращает ссылку на этот массив.
Возвращает true, если этот байтовый массив лексически короче, чем строка str; в противном случае возвращает false.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Сравнение чувствительно к регистру.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вам нужно явно вызывать QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8() или QString::fromLocal8Bit(), если вы хотите преобразовать байтовый массив в QString перед тем, как выполнить сравнение.
Возвращает true, если байтовый массив лексически меньше или равен строке str; в противном случае возвращает false.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Сравнение чувствительно к регистру.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вам нужно явно вызывать QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8() или QString::fromLocal8Bit(), если вы хотите преобразовать байтовый массив в QString перед тем, как выполнить сравнение.
Присваивает other этому байтовому массиву и возвращает ссылку на этот байтовый массив.
Это перегруженная функция, предоставленная для удобства.
Присваивает str этому байтовому массиву.
Возвращает true, если этот байтовый массив равен строке str; в противном случае возвращает false.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Сравнение чувствительно к регистру.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вам нужно явно вызывать QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8() или QString::fromLocal8Bit(), если вы хотите преобразовать байтовый массив в QString перед тем, как выполнить сравнение.
Возвращает true, если этот байтовый массив лексически больше, чем строка str; в противном случае возвращает false.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Сравнение чувствительно к регистру.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вам нужно явно вызывать QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8() или QString::fromLocal8Bit(), если вы хотите преобразовать байтовый массив в QString перед тем, как выполнить сравнение.
Возвращает true, если байтовый массив больше или равен строке str; в противном случае возвращает false.
Данные в Unicode конвертируются в 8-битные символы с использованием QString::toAscii().
Сравнение чувствительно к регистру.
Вы можете запретить этот оператор, объявив макрос QT_NO_CAST_TO_ASCII, перед компиляцией приложения. Теперь вам нужно явно вызывать QString::fromAscii(), QString::fromLatin1(), QString::fromUtf8() или QString::fromLocal8Bit(), если вы хотите преобразовать байтовый массив в QString перед тем, как выполнить сравнение.
Возвращает байт из позиции с индексом i, доступный для изменения.
Если присваивание производится за пределами байтового массива, перед присваиванием массив будет увеличен с помощью resize().
Пример:
QByteArray ba;
for (int i = 0; i < 10; ++i)
ba[i] = 'A' + i;
// ba == "ABCDEFGHIJ"
Возвращаемое значение имеет тип QByteRef, это вспомогательный класс QByteArray. Когда вы получаете объект типа QByteRef, вы можете использовать его, как если бы он был char &. Если вы присваиваете ему, то то присваивание будет применяться к символу в QByteArray на который вы получили ссылку.
Смотрите также at().
Это перегруженная функция, предоставленная для удобства.
Тоже самое, что и at(i).
Это перегруженная функция, предоставленная для удобства.
Это перегруженная функция, предоставленная для удобства.
Возвращает CRC-16 - циклическую контрольную сумму, первых len байт из data.
Контрольная сумма не зависит от порядка байтов.
Сжимает массив data и возвращает сжатые данные в виде нового массива.
Параметр compressionLevel определяет, какая степень сжатия должна использоваться. Допустимые значения от 0 до 9, 9 соответствует наибольшее сжатие (т.е. малый объем сжатых данных) за счет использования более медленного алгоритма. Меньшие значения (8, 7, ..., 1) предоставляют, соответственно, меньшее сжатие за чуть меньшее время. Значение 0 отменяет сжатие совсем. Значение по умолчанию равно -1, которое указывает библиотеке zlib сжатие по умолчанию.
Смотрите также qUncompress().
Это перегруженная функция, предоставленная для удобства.
Сжимает первые nbytes из data и возвращает сжатые данные в новом массиве.
Распаковывает байтовый массив data и возвращает новый массив с распакованными данными.
Возвращает пустой (empty) QByteArray, если входные данные испорчены.
Эта функция распакует данные, сжатые с помощью qCompress() из этой и любой предыдущей версии Qt, начиная с Qt 3.1, когда эта возможность была введена.
Замечание: Если вы хотите использовать эту функцию, чтобы распаковывать внешние данные, сжатые с помощью библиотеки zlib, вы сначала должны добавить спереди четыре байта к массиву, которые будут хранить ожидаемый размер распакованных данных, записанных в обратном порядке (старший байт первый).
Смотрите также qCompress().
Это перегруженная функция, предоставленная для удобства.
Распаковывает первые nbytes из data и возвращает новый массив с распакованными данными.
Переносимая функция snprintf(), вызывает qvsnprintf.
fmt - это строка форматирования printf(). Результат помещается в str, который является буфером по крайней мере из n байт.
Предупреждение: Вызывайте эту функцию только тогда, когда вы знаете, что вы делаете, так как она показывает различное поведение для различных платформ. Используйте функцию QString::sprintf() для формирования строки, взамен.
Смотрите также qvsnprintf() и QString::sprintf().
Безопасная функция strcmp().
Сравнивает str1 и str2. Возвращает отрицательное значение, если str1 меньше чем str2, 0, если str1 равна str2 или положительное значение, если str1 больше чем str2.
Особый случай 1: Возвращает 0, если str1 и str2 обе 0.
Особый случай 2: Возвращает случайное ненулевое значение, если str1 равна 0 или str2 равна 0 (но не обе сразу).
Смотрите также qstrncmp(), qstricmp(), qstrnicmp() и Обратите внимание на сравнение 8-битовых символов.
Копирует все символы, включая '\0', из src в dst и возвращает указатель на dst. Если src равна 0, немедленно возвращается 0.
Эта функция предполагает, что dst достаточно большая, чтобы в нее поместились все данные из src.
Смотрите также qstrncpy().
Возвращает дубликат строки.
Выделяет память для копии src, копирует её, и возвращает указатель на копию. Если src равен 0, возвращается 0.
Владельцем становится вызывающий, поэтому возвращаемая строка должна быть удалена с помощью delete[].
Безопасная функция stricmp().
Сравнивает str1 и str2 игнорируя регистр символов. Предполагается, что строка в кодировке Latin-1.
Возвращает отрицательное значение, если str1 меньше чем str2, 0, если str1 равна str2 или положительное значение, если str1 больше чем str2.
Особый случай 1: Возвращает 0, если str1 и str2 обе 0.
Особый случай 2: Возвращает случайное ненулевое значение, если str1 равна 0 или str2 равна 0 (но не обе сразу).
Смотрите также qstrcmp(), qstrncmp(), qstrnicmp() и Обратите внимание на сравнение 8-битовых символов.
Безопасная функция strlen().
Возвращает количество символов, которые предшествует символу '\0', или 0, если str равна 0.
Смотрите также qstrnlen().
Безопасная функция strncmp().
Сравнивает не больше, чем len байт в str1 и str2.
Возвращает отрицательное значение, если str1 меньше чем str2, 0, если str1 равна str2 или положительное значение, если str1 больше чем str2.
Особый случай 1: Возвращает 0, если str1 и str2 обе 0.
Особый случай 2: Возвращает случайное ненулевое значение, если str1 равна 0 или str2 равна 0 (но не обе сразу).
Смотрите также qstrcmp(), qstricmp(), qstrnicmp() и Обратите внимание на сравнение 8-битовых символов.
Безопасная функция strncpy().
Копирует не больше чем len байт из src (останавливается на len или на конечном '\0', в зависимости от того, что встретится первым) в dst и возвращает указатель на dst. Гарантирует, что dst заканчивается '\0'. Если src или dst равны 0, немедленно возвращается 0.
Эта функция подразумевает, что dst по меньшей мере длинной в len символов.
Смотрите также qstrcpy().
Безопасная функция strnicmp().
Сравнивает не больше чем len байт str1 и str2 , игнорируя регистр символов. Предполагается, что строка в кодировке Latin-1.
Возвращает отрицательное значение, если str1 меньше чем str2, 0, если str1 равна str2 или положительное значение, если str1 больше чем str2.
Особый случай 1: Возвращает 0, если str1 и str2 обе 0.
Особый случай 2: Возвращает случайное ненулевое значение, если str1 равна 0 или str2 равна 0 (но не обе сразу).
Смотрите также qstrcmp(), qstrncmp(), qstricmp() и Обратите внимание на сравнение 8-битовых символов.
Безопаснся функция strnlen().
Возвращает количество символов, которое предшествует символу '\0', но не более maxlen. Если str равна 0, возвращается 0.
Эта функция была введена в Qt 4.2.
Смотрите также qstrlen().
Переносимая функция vsnprintf(). Будет вызвана функция ::vsnprintf(), ::_vsnprintf() или ::vsnprintf_s, в зависимости от системы или переход к внутренней версии.
fmt - это строка форматирования printf(). Результат помещается в str, который является буфером по крайней мере из n байт.
Вызывающий ответственен за вызов функции va_end() у ap.
Предупреждение: Так как vsnprintf() показывает различное поведение на различных платформах, вы не должны полагаться на возвращаемое значение, или на факт, что вы всегда получите назад строку завершающуюся нулём.
В идеале, вы не должны никогда вызывать эту функцию, а использовать QString::sprintf(), вместо неё.
Смотрите такжеqsnprintf() и QString::sprintf().
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если байтовый массив a1 не равен байтовому массиву a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если байтовый массив a1 не равен строке a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если строка a1 не равна байтовому массиву a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает байтовый массив, который является результатом соединения байтового массива a1 и байтового массива a2.
Смотрите также QByteArray::operator+=().
Это перегруженная функция, предоставленная для удобства.
Возвращает байтовый массив, который является результатом соединения байтового массива a1 и строки a2.
Это перегруженная функция, предоставленная для удобства.
Возвращает байтовый массив, который является результатом соединения байтового массива a1 и символа a2.
Это перегруженная функция, предоставленная для удобства.
Возвращает байтовый массив, который является результатом соединения строки a1 и байтового массива a2.
Это перегруженная функция, предоставленная для удобства.
Возвращает байтовый массив, который является результатом соединения символа a1 и байтового массива a2.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если байтовый массив a1 лексически меньше, чем байтовый массив a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если байтовый массив a1 лексически меньше, чем строка a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если строка a1 лексически меньше, чем байтовый массив a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Записывает байтовый массив ba в поток out и возвращает ссылку на поток.
Смотрите также Формат операторов QDataStream.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если байтовый массив a1 лексически меньше или равен, байтовому массиву a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если байтовый массив a1 лексически меньше или равен строке a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если строка a1 лексически меньше или равна, байтовому массиву a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если байтовый массив a1 равен байтовому массиву a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если байтовый массив a1 равен строке a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если строка a1 равна байтовому массиву a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если байтовый массив a1 лексически больше, чем байтовый массив a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если байтовый массив a1 лексически больше, чем строка a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если строка a1 лексически больше, чем байтовый массив a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если байтовый массив a1 лексически больше или равен, байтовому массиву a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если байтовый массив a1 лексически больше или равен ,строке a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Возвращает true, если строка a1 лексически больше или равна , байтовому массиву a2; в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Читает байтовый массив в ba из потока in и возвращает ссылку на поток.
Смотрите также Формат операторов QDataStream.
Copyright © 2008 Trolltech | Торговые марки | Qt 4.3.5 |