Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Кол. строк в текстовом файле

1.9K
09 июля 2003 года
-cheese-
25 / / 01.07.2003
Люди как можно просто узнать сколько строк в текстовом файле?
460
09 июля 2003 года
Berg
261 / / 27.03.2003
Цитата:
Originally posted by -cheese-
Люди как можно просто узнать сколько строк в текстовом файле?



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

А, чтобы поменьше кода, можно Strings->LoadFromFile()
Strings->Count
:-)

384
12 июля 2003 года
mikeshilkin
95 / / 20.04.2000
Цитата:
Originally posted by Berg


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

А, чтобы поменьше кода, можно Strings->LoadFromFile()
Strings->Count
:-)



Ну-ну, а если это файлик метров так дцать?
Сколько времяни и лишней памяти наэто уйдет?

310
13 июля 2003 года
fellow
853 / / 17.03.2003
Я, вообще-то, порядочный лентяй, и сделал бы примерно так: прочитал бы сколько-нибудь из файла пока не получу 5-10 строк, а потом посчитал бы их среднюю длину, а потом длину файла разделил бы на это среднее значение и получил бы ориентировочное количество строк. Если работа с файлом будет продолжаться, то продолжил бы чтение файла и подсчет длин строк до победного конца, обновляя при этом счетчик количества строк, примерно как Word обновляет счетчик страниц при открытии файла.
Признак конца строки на выбор - "\n", ".\n", "\r" и т.д.
460
14 июля 2003 года
Berg
261 / / 27.03.2003
Цитата:
Originally posted by mikeshilkin


Ну-ну, а если это файлик метров так дцать?
Сколько времяни и лишней памяти наэто уйдет?



Для этого там стоял ":-)"...
Разумеется, делать так не надо...

1.9K
14 июля 2003 года
-cheese-
25 / / 01.07.2003
Да, метров там как раз ...дцать.
989
14 июля 2003 года
Vlad232ua
182 / / 02.04.2003
Цитата:
Originally posted by -cheese-
Да, метров там как раз ...дцать.


Была такая проблема, код к сожалению не сохранился.
Читал блоками по 8-64k (плясал от размера сектора или кластера сейчас не помню), дальше
счетчик=длина файла/64k, остаток,который будет, считывал в последнем такте. На EOF не проверял, крутил счетчик по while (если все правильно EOF лишнее). В сравнении (buf&0x10 || buf&0x13)
и подсчет. На больших файлах прирост получался ощутимый (правда тачка тогда была - цилик 500).

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог