|
|
|
string
|
|||
|---|---|---|---|
|
#18+
Кто может помочь написать Поиск в строке? Чтобы текст считывался с файла. А то,что-то я не совсем понимаю как это сделать((( Помогите,если не сложно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2007, 12:38 |
|
||
|
string
|
|||
|---|---|---|---|
|
#18+
переработав слегка мой проект это можно реализовать -------------------------------------------------------------- [не претендую на уникальность] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2007, 12:50 |
|
||
|
string
|
|||
|---|---|---|---|
|
#18+
Например, приблизительно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. -- У каждого свои проблемы... У кого суп жидкий, у кого бриллианты мелкие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2007, 14:16 |
|
||
|
string
|
|||
|---|---|---|---|
|
#18+
Ну слушай его милая, у него там баг, нет 2. Все это можно сделать с помощью буфера размером = размер искомого слова и функции fgetc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2007, 16:23 |
|
||
|
string
|
|||
|---|---|---|---|
|
#18+
2 blinded : Ну так помогите милой. Хотя бы парочкой строк. Укажите на мои недочёты пожалуйста, раз Вы их видите. Меня можно поправить, я не обижусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2007, 16:57 |
|
||
|
string
|
|||
|---|---|---|---|
|
#18+
1) Буфер надо делать на 1 длинне чем читаешь 2) ежели искомое слово попадет на границу буфера ты его не найдешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2007, 17:29 |
|
||
|
string
|
|||
|---|---|---|---|
|
#18+
Спасибо. 1) согласен, виноват. 2) если вы подразумеваете, искомая строка будет начинаться в одном буфере, а заканчиваться в другом, то да - программа не найдет. +тогда прошу добавить сюда же глюк, если строка содержит более 300 символов, то есть читается в несколько заходов, то будет неверно определять номера строк. А соответственно и номер позиции. Это был лишь пример, для текстового файла размер строки которого не превышает 300 символов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2007, 17:59 |
|
||
|
string
|
|||
|---|---|---|---|
|
#18+
Все очень просто заводится буфер символов, длинной равной длинне исклмого слова, который используется как циклический, т. е. как только доходим до конца буфера начинаем заполнять его сначала. Позиция с которнадо начинать сравнивать символы в буфере определяется как n=(<#прочитанного символа в строке>-<длина буфера>)% <длинна буфера>. Сравниваем символы от n до конца буфера, потом от начала до позиции n-1 включительно. Потом считываем еще один символ из строки помещаем его позицию n и снова проверяемю Пока n < 0 проверять не надо, только читаем, как только встретили '\n' инкрементирует счетчик строк, а #прочитаного символа -> 0. как только встретили eof все. PS тепереь буду писать для errorki словами, а то не поймет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2007, 21:01 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34537368&tid=2028846]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
152ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 462ms |

| 0 / 0 |
