Qt/FAQ/QtCore

Материал из Wiki.crossplatform.ru

(Различия между версиями)
Перейти к: навигация, поиск
(Строки)
(Строки)
Строка 3: Строка 3:
За обработку строк в Qt отвечает класс QString, который хранит строки в Unicode в виде последовательностей 16-битовых символов QChar. Строки QString можно рассматривать как вектор символов QChar. При использовании QString не стоит беспокоится о таких вещах, как выделение достаточного объёма памяти или гарантирование завершения данных символом '\0'. Внутри QString могут быть символы '\0', функция length() вернет размер строки, включаю символы '\0'.
За обработку строк в Qt отвечает класс QString, который хранит строки в Unicode в виде последовательностей 16-битовых символов QChar. Строки QString можно рассматривать как вектор символов QChar. При использовании QString не стоит беспокоится о таких вещах, как выделение достаточного объёма памяти или гарантирование завершения данных символом '\0'. Внутри QString могут быть символы '\0', функция length() вернет размер строки, включаю символы '\0'.
-
=== Кодировка ===
 
-
=== Доступ к подстрокам ===
 
=== Манипуляции со строками ===
=== Манипуляции со строками ===
 +
Класс QString содержит operator+, который обеспечивает конкатенацию двух строк и operator+= для добавления одной строки в конец другой:
 +
<source lang="cpp">
 +
  QString sz, sz1="cross", sz2="platform";
 +
  sz = sz1 + sz2; // sz == "crossplatform"
 +
  sz += ".ru";    // sz == "crossplatform.ru"
 +
</source>
 +
Также есть функция append, которая аналогична operator+=:
 +
<source lang="cpp">
 +
  QString sz;
 +
  sz.append( "crossplatform");
 +
  sz.append( ".ru");
 +
  // sz == "crossplatform.ru"
 +
</source>
 +
Если функция append добавляет одну строку в конец другой, то функция prepend добавляет одну строку в начало другой:
 +
<source lang="cpp">
 +
  sz.prepend( "http://");
 +
  // sz == "http://crossplatform.ru"
 +
</source>
 +
Также можно добавить нужную нам строку в любую позицию другой строки:
 +
<source lang="cpp">
 +
  sz.insert( 7, QString("wiki."));
 +
  // sz == "http://wiki.crossplatform.ru"
 +
</source>
 +
Для совместимости с STL в классе QString введены функции push_back и push_front, которые аналогичны функциям append и prepend соответственно:
 +
<source lang="cpp">
 +
  QString sz = "crossplatform";
 +
  sz.push_back( ".ru");
 +
  // sz == "crossplatform.ru"
 +
  sz.push_front( "http://");
 +
  // sz == "http://crossplatform.ru"
 +
</source>
 +
 +
<!--
 +
remove
 +
replace
 +
sprintf
 +
arg
 +
split
 +
compare
 +
reserve
 +
resize
 +
-->
 +
 +
=== Кодировка ===
== Массивы ==
== Массивы ==

Версия 16:42, 29 сентября 2008

Содержание

QtCore - ядро не-GUI классов, используемое другими модулями

Строки

За обработку строк в Qt отвечает класс QString, который хранит строки в Unicode в виде последовательностей 16-битовых символов QChar. Строки QString можно рассматривать как вектор символов QChar. При использовании QString не стоит беспокоится о таких вещах, как выделение достаточного объёма памяти или гарантирование завершения данных символом '\0'. Внутри QString могут быть символы '\0', функция length() вернет размер строки, включаю символы '\0'.

Манипуляции со строками

Класс QString содержит operator+, который обеспечивает конкатенацию двух строк и operator+= для добавления одной строки в конец другой:

   QString sz, sz1="cross", sz2="platform";
   sz = sz1 + sz2; // sz == "crossplatform"
   sz += ".ru";    // sz == "crossplatform.ru"

Также есть функция append, которая аналогична operator+=:

   QString sz;
   sz.append( "crossplatform");
   sz.append( ".ru");
   // sz == "crossplatform.ru"

Если функция append добавляет одну строку в конец другой, то функция prepend добавляет одну строку в начало другой:

   sz.prepend( "http://");
   // sz == "http://crossplatform.ru"

Также можно добавить нужную нам строку в любую позицию другой строки:

   sz.insert( 7, QString("wiki."));
   // sz == "http://wiki.crossplatform.ru"

Для совместимости с STL в классе QString введены функции push_back и push_front, которые аналогичны функциям append и prepend соответственно:

   QString sz = "crossplatform";
   sz.push_back( ".ru");
   // sz == "crossplatform.ru"
   sz.push_front( "http://");
   // sz == "http://crossplatform.ru"


Кодировка

Массивы

Контейнеры

Дата и время

Регулярные выражения

События

Процессы и синхронизация

Работа с плагинами

Работа с файлами и директориями