crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Разбить строку каждые n символов
RazrFalcon
  опции профиля:
сообщение 16.10.2011, 3:51
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Есть к примеру строка: 001002030040050060070100
Нужно разбить ее на строки по 3-и символа.
Все что пришло в голову:
  QString str = "001002030040050060070100";
  for (int i = 0; i < str.count(); i+=3) {
    QString tmpStr;
    tmpStr.append(str.at(i));
    tmpStr.append(str.at(i+1));
    tmpStr.append(str.at(i+2));
    qDebug()<<tmpStr;
  }

"001" 
"002"
"030"
"040"
"050"
"060"
"070"
"100"

Может есть более лаконичный способ =/
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 16.10.2011, 9:36
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Можно использовать методы:
QString QString::mid ( int position, int n = -1 ) const
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 16.10.2011, 11:09
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Спасибо. То что нужно.

QString str = "001002030040050060070100";
for (int i = 0; i < str.count(); i+=3)
    qDebug()<<str.mid(i,3);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 1.12.2024, 12:57