crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Признак окончания строки
Atuin
  опции профиля:
сообщение 10.2.2015, 17:48
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 10.2.2015
Пользователь №: 4334

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




Репутация:   0  


Сегодня вот в qt залезна попыталась из edita получить строку для обработки, после последнего символа выдает ошибку.
Тут секрет что ли какой то? Признак окончания строки не работает или как-то по другому записывается, или его нет вовсе?

int i = 0;
QString str = ui->lineEdit->text();
int n = str.length();
while(str[i]!='\n'){
num_word++;
while((str[i]!=' ')&&(str[i]!='\n')){
i++;
}
i++;
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 10.2.2015, 18:23
Сообщение #2


Старейший участник
****

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

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




Репутация:   12  


а выход за границу массива проверять не нужно уже?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Atuin
  опции профиля:
сообщение 11.2.2015, 9:17
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 10.2.2015
Пользователь №: 4334

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




Репутация:   0  


то есть такого признака нет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
arhohryakov
  опции профиля:
сообщение 11.2.2015, 11:08
Сообщение #4


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 14.1.2015
Пользователь №: 4315

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




Репутация:   0  


Не нужно с QString работать как с массивом байтов. Есть много полезных методов.
Количество слов можно подсчитать так:
QString str = ui->lineEdit->text();
int num_words = str.simplified().split(' ').size();

А если брать Ваш пример с перебором, то символа окончания строки в конце нет.
Как уже подсказали за длину массива заходить нельзя.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Atuin
  опции профиля:
сообщение 11.2.2015, 11:26
Сообщение #5


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 10.2.2015
Пользователь №: 4334

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




Репутация:   0  


спасибо, это я конечно с счетчиком погаречилась
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.2.2015, 22:59
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(Atuin @ 10.2.2015, 19:48) *
Признак окончания строки не работает
А что это такое?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 16.2.2025, 23:35