Поиск символа в файле

Интересные алгоритмы, олимпиадные задачи, эффектные и эффективные решения. freepascal, delphi, c, c++, c#, java, javascript, perl, ruby, python, php, bash, wsh и т.д. Компиляторы, интерпретаторы, линкеры, отладчики, системы контроля версий и многое другое.

Модератор: xdsl

Поиск символа в файле

Сообщение БорАл 11 май 2010, 18:04

Доброго времени суток

Как можно быстро и эффективно найти заданый символ в файле? Язык - C# :oops: :cry:
Ubuntu Linux 10.04 LTS Netbook Edition; Ubuntu Linux 11.04 Desktop
БорАл
 
Сообщения: 58
Зарегистрирован: 11 ноя 2009, 14:37
Откуда: Из небытия
Полное имя: Алексей aka x_Fafnir_x

Re: Поиск символа в файле

Сообщение Vladislav_133 11 май 2010, 20:24

Тут язык и вовсе не причем. Ну вот вам варианты.

1. Читать по одому символу и проверять.
2. Считать весь файл и в буфере проверить.
3. Читать буферами, ну т.е. буфер теоретически может быть меньше размера файла. Прочел - проверил, прочел - проверил и т.д.

Ну в Windows есть еще такое понятие, как файл отображаемый в память. Ну это фактически сводится к 2).

А что еще вы можете придумать?
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Поиск символа в файле

Сообщение БорАл 12 май 2010, 09:03

Находил побайтовый поиск.....Схож с буферным чтением..Но опять же необходимо анализировать символы, а не байты. Переводить из байт в символы - дополнительная нагрузка.

В C# есть такие классы - StreamReader, StreamWriter - с помощью них можно считывать строки. Это удобно, если речь идёт о строках. Разве что делить потом эти строки.

Больше ничего в голову не приходит. Остановился на Stream Write/Reader.

Но узнать еще что-то - не лишне.
Ubuntu Linux 10.04 LTS Netbook Edition; Ubuntu Linux 11.04 Desktop
БорАл
 
Сообщения: 58
Зарегистрирован: 11 ноя 2009, 14:37
Откуда: Из небытия
Полное имя: Алексей aka x_Fafnir_x

Re: Поиск символа в файле

Сообщение Vladislav_133 12 май 2010, 11:39

Вы свою задачу не сформулировали. Вот в чем проблема. Если у вас не понятно какая кодировка, то я вам не завидую.
Опишите подробнее, что вы хотите. Если, например, вы не можете найти в библиотеке классов, нужный (есть такое подозрение), то поищите лучше. Там огоромное количество всяких возможностей. Но начните стого, что запишите постановку задачи.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.


Вернуться в Алгоритмизация и программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron