Главная » Файлы » Лекции » Програм-е на ЯВУ [ Добавить материал ]

Описание класса QString 2009

[Скачать с сервера (166.1Kb) - бесплатно] 29.10.2009, 18:28
Классификация методов класса QString, анализ содержимого строки, сравнение строк, поиск подстроки, модифицирующие методы, вставка подстроки, удаление подстроки, очистка строки, замена подстроки, получение подстроки/символа, преобразование строки к другому типу данных, преобразование других типов данных в строку

Фрагменты из лекции

Инициализация строки

Значение строки можно задать путем присвоения ей либо строковой константы, либо массива символов, заканчивающегося нуль-символом:

QString str = "invalid data";
char str_mass[]= "no solution"; // строка языка Си
str = str_mass;


Строку можно задать как результат склеивания нескольких строк:

QString str1= "invalid data";
QString str2= "!!!";
QString str3= " no solution";
QString str;
str = str1 + str2 + str3; // строки str1, str2, str3 не
// изменяются
QString str = QString() + "invalid data" + "!!!" +
" no solution";

Анализ содержимого строки

Для определения того факта, что строка заполнена используется метод length(), который возвращает длину строки:

QString str; // пустая строка
printf("String length=%d", str.length());  // результат 0
str = "invalid data";
printf("String length=%d", str.length());  // результат 12

Возможно посимвольное обращение к строке:

// Печать первого символа строки
printf("First symbol=%c", str[0].toAscii());


Однако можно работать и с подстроками. Для поиска подстрок используются методы indexOf() и lastIndexOf():

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


Для получения части строки в заданной позиции используется метод mid():

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

Преобразование строки

Для использования стандартных функций ввода-вывода языка Си строку типа QString необходимо преобразовать к массиву символов, заканчивающемуся нуль-символом. Такое преобразование можно выполнить с использованием метода toAscii():

QString str = "abcdef";
printf(str.toAscii().data());
// другой вариант использовать макрос qPrintable()
printf(qPrintable(str));
Похожие материалы:

Добавил: COBA (29.10.2009) | Категория: Програм-е на ЯВУ
Просмотров: 4680 | Загрузок: 1569 | Рейтинг: 0.0/0 |
Теги: ЯВУ, строки, QString, Qt, лекции
Комментарии (0)

Имя *:
Email *:
Код *: