crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> поиск в QFile
Гость_Гость_epishev_*_*
сообщение 6.6.2011, 20:56
Сообщение #1





Гости








    


Всем привет!

Такой вопрос:

Есть файл, нужно найти в нем вхождения строки и вернуть координаты этого вхождения (символ в строке, символ в столбце)

Как это можно сделать?

Заранее спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 6.6.2011, 21:17
Сообщение #2


Zombie Mod
*****

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

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




Репутация:   212  


QCursor
или
QTextCursor

Сообщение отредактировал RazrFalcon - 6.6.2011, 21:21
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
epishev
  опции профиля:
сообщение 6.6.2011, 21:27
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 89
Регистрация: 23.3.2011
Пользователь №: 2533

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




Репутация:   0  


Цитата(RazrFalcon @ 6.6.2011, 22:17) *
QCursor
или
QTextCursor


не пойму, как это может помочь...

Наверно, я не првильно объяснил, прошу проещения...

но под файлом я имел ввиду
QFile file("");


мне нужно пройти файл и найти вхождение заданной строки, и самое главное получить "координаты" этого вхождения.
При этом желательно, не выгружать данные хранящиеся в файле в QString...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 6.6.2011, 21:37
Сообщение #4


Zombie Mod
*****

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

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




Репутация:   212  


Ну без QTextStream тоже не обойтись. Так что...

Если я правильно понял, то у вас фундаментальная ошибка.
Вам нужно узнать строку столбец. Но это зависит от вьювера, а если еще вордврап включен, то вообще. Хотя некоторые редакторы с ним нормально работают.

Суть: берем каждый символ, пока не доходим до нулевого, '\0'. Дошли - +строка. Ну а на каком растоянии от нулевого ваш символ вот и столбец.

Можно юзать
QString QTextStream::read ( qint64 maxlen )
или
QString QTextStream::readLine ( qint64 maxlen = 0 )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
epishev
  опции профиля:
сообщение 6.6.2011, 22:05
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 89
Регистрация: 23.3.2011
Пользователь №: 2533

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




Репутация:   0  


Цитата(RazrFalcon @ 6.6.2011, 22:37) *
Если я правильно понял, то у вас фундаментальная ошибка.
Вам нужно узнать строку столбец. Но это зависит от вьювера, а если еще вордврап включен, то вообще. Хотя некоторые редакторы с ним нормально работают.


Не совсем понял про ошибку... значение столбца и строки зависит от того каким средством читаю файл?
В чем ошибка?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 7.6.2011, 0:17
Сообщение #6


Zombie Mod
*****

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

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




Репутация:   212  


Ну да. Каждый по своему открывает. Что вас интересует? Положение без привязки к просмотырщику, как я понял. Тогда все норм.
Ну это так, уход от темы.

Просто я сначала не понял какое именно положение нужно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 7.6.2011, 18:31
Сообщение #7


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

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

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




Репутация:   94  


Цитата(epishev @ 7.6.2011, 1:05) *
значение столбца
а что такое "столбец" применительно к файлу?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 7.6.2011, 18:37
Сообщение #8


Zombie Mod
*****

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

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




Репутация:   212  


Позиция относительно левого края ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 7.6.2011, 20:36
Сообщение #9


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

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

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




Репутация:   94  


Цитата(RazrFalcon @ 7.6.2011, 21:37) *
левого края
края чего?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 8.6.2011, 7:17
Сообщение #10


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

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


RazrFalcon, Юрий пытается тебе сказать, что столбец - это как бы виртуальная такая фигня, и это есть смещение от начала любой строки

вот в некоем потоке текстовых данных пронумерованы "столбцы"
0123456789  01234  0123456
sdfgdssdfg\ndfgsd\ndfgdfgh\n
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 28.3.2024, 15:25