Russian Qt Forum

Qt => Общие вопросы => Тема начата: Tirex от Март 30, 2006, 23:06



Название: Ошибка при работе с QString.split
Отправлено: Tirex от Март 30, 2006, 23:06
Есть такой код:
   QFile file("1.map");
   if (!file.open(QIODevice::ReadOnly  | QIODevice::Text))
            return;
   QTextStream in(&file);
   QString temp;
   //пропуск строки
   temp=in.readLine();
   //пропуск строки
   temp=in.readLine();
   //-
   temp=in.readLine();
   QStringList list1 = temp.split(",");
   current_w = list1.at(0).toInt();
//   current_h = list1.at(1).toInt();

   file.close();

если раскоментировать вторую строку тут же вылетает. Что не так?


Название: Ошибка при работе с QString.split
Отправлено: Hordi от Март 31, 2006, 09:05
Выведи содержимое list1. Там скорее всего одна строка - при обращении к несуществующей генерится исключение


Название: Re: Ошибка при работе с QString.split
Отправлено: Maxz от Март 31, 2006, 09:38
Попробуй через count():

так:
if(list.count()>1){
  current_h = list1.at(1).toInt();
}

или так, например:
for(int i=0;i<list.count();i++){
  current_h = list1.at(i).toInt();
  // здесь обработка current_h
}


Название: Ошибка при работе с QString.split
Отправлено: Tirex от Апрель 02, 2006, 12:09
спасибо ! разобрался!