Russian Qt Forum
Ноябрь 25, 2024, 17:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QString QString::mid ( int position, int n = -1 ) const  (Прочитано 3581 раз)
iamunix
Гость
« : Март 13, 2009, 16:13 »

Всем привет ) Недавно пришлось воспользоваться упомянутой выше функцией, у которой было замечено необычное поведение. Для ясности привожу кусок кода и результат (вообще программа считает количество символов, слов и строк в текстовом файле, но в данном случае обращаем внимание только на слова - те на куски текста разделенные пробелами, либо символами табуляции) :
Код
C++ (Qt)
QString s = line.mid(i, j);
qDebug() << i << "\t" << j << "\t" <<  s;
 
Код:
NEW LINE : 		 "12345   	  67    8 9 0" 
0 5 "12345"
11 13 "67    8 9 0"
17 18 "8 9 0"
19 20 "9 0"
21 22 "0"

Возник вопрос - почему выводится вся строка, начиная с указанной позиции? ) Может это "глюк" QtCreator'a ? )
Записан
Rcus
Гость
« Ответ #1 : Март 13, 2009, 16:18 »

youarenotunix, rtfm.
Цитировать
Returns a string that contains n characters of this string, starting at the specified position index.

Returns a null string if the position index exceeds the length of the string. If there are less than n characters available in the string starting at the given position, or if n is -1 (default), the function returns all characters that are available from the specified position.
Записан
iamunix
Гость
« Ответ #2 : Март 13, 2009, 16:58 »

Rcus, спасибо.
Не заметил, теперь стыдно =)
Исправил:
Код
C++ (Qt)
qDebug() << line.mid(i, j-i);
 

p.s. если кому нибудь интересно, во вложении полный код программы.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.146 секунд. Запросов: 21.