Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Tarasov Sergej                       2:5020/400     02 Nov 2000  15:11:26
 To : Yaroslav Kulikov
 Subject : Файлы
 -------------------------------------------------------------------------------- 
 
 Thu Nov 02 2000 10:17, Yaroslav Kulikov wrote to All:
 
  YK> #/------/#        Да прибудет с Вами великая сила, */_All!_/*
  YK> _*------*_
 
  YK> Hарод, подскажите мне _наибыстрейший_ способ чтения определенной строки
  YK> (известен номер нужной строки) текстового файла. При всем при этом номер
  YK> может достигать и 1000. Именно поэтому нужен наибыстрейший способ.
 
 А может в FAQ это дело? А то в прошлый раз скатились на обсуждение
 того, кто же именно нарисован на небезызвестной кулинарной
 книге, а человеку так и не ответили...
 
 В общем виде эта задача решения не имеет, поскольку компьютер
 обычно считает, что файл состоит из байтов, а не из строк.
 
 Если файл не меняется, то наиболее просто сделать так:
 отдельным скриптом читаешь файл построчно, и для каждой строки
 в другом файле пишешь ее смещение, примерно так
 
 $pos = tell(FILE);
 $s = <FILE>;
 print INDEX_FILE, pack("N", $pos);
 и так в цикле
 
 затем в твоем скрипте сначала из индексного файла узнаешь
 смещение, идешь в нужный файл на заданную позицию
 и читаешь строку.
 
 seek(INDEX_FILE, $str_number*4,0);
 read(INDEX_FILE,$pos,4);
 $pos = unpack("N", $pos);
 seek(FILE,$pos,0);
 $str = <FILE>;
 
 Hе забудь индексный файл открывать как бинарный, а то
 под Виндовс может иногда не работать.
 
 --- ifmail v.2.15dev5
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Файлы   Yaroslav Kulikov   02 Nov 2000 12:17:41 
 Re: Файлы   Eugene Grosbein   02 Nov 2000 17:54:55 
 Re: Файлы   Eugene Grosbein   02 Nov 2000 17:56:56 
 Re^2: Файлы   Yaroslav Kulikov   02 Nov 2000 17:28:22 
 Файлы   Andrey Larushkin   03 Nov 2000 10:03:54 
 Re: Re^2: Файлы   Eugene Grosbein   03 Nov 2000 16:32:43 
 Re^2: Re^2: Файлы   Yaroslav Kulikov   04 Nov 2000 00:35:59 
 Re: Re^2: Re^2: Файлы   Eugene Grosbein   10 Nov 2000 14:06:55 
 Re: Re^2: Файлы   Alex Povolotsky   08 Nov 2000 11:18:48 
 Файлы   Tarasov Sergej   02 Nov 2000 15:11:26 
 Re: Файлы   Alex Povolotsky   08 Nov 2000 11:17:37 
 Файлы   Andrey Lastochkin   10 Nov 2000 09:34:44 
 Re: Файлы   Yaroslav Kulikov   10 Nov 2000 12:25:53 
Архивное /ru.cgi.perl/16679ca198d7e.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional