RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : OORexxx Прочитать весь текстовый файл в массив


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Joseph
To : Алексей Тарасов
Subj : OORexxx Прочитать весь текстовый файл в массив

привет.

этот вариант
на файле 2000 строк выполняется за 0.05 сек
Файл 4000 не сжевала - пожаловалась на нехватку рсурсов
На 1000 строк, 47000 байт тратит от 0.01 до 0.02 сек

Понятно, он хуже, но не настолько

arg inFile
say time('r')
EOL=x2c(0d0a)
call Stream inFile,'c','open'
FileLen=Chars(inFile)
FileStr=CharIn(inFile, 1, FileLen)
call Stream inFile,'c','close'
i=0
k=pos(EOL,FileStr)
do while k<>0
n=1
i=i+1
ss=substr(FileStr,n,k-n)
Str.i = ss
n=k+1
k=pos(EOL,FileStr,n)
end /* while */
Str.0=i
say time('e')
say 'Str.0='Str.0


Thu 30 Jan 2025 11:25 Mozilla/5.0 (OS/2; Warp 4.5; rv:45.0) Gecko/20100101 Firefox




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.