Найдено 7 результатов

IvanS
13.03.2013 13:38:22
Форум: Free Pascal Compiler
Тема: Чтение и парсинг больших текстовых файлов
Ответы: 54
Просмотры: 44872

Re: Чтение и парсинг больших текстовых файлов

Поменяйте строчки местами, сначала модифицируете строку, потом получаете адрес.
Но почему если убрать {H+} (или поставить {H-}), то ошибка исчезает?

Добавлено спустя 6 минут 11 секунд:
3) сработал механизм copy-on-write,

Этого мне не надо. Как сделать так, чтобы я менял строку s, и по всем ...
IvanS
12.03.2013 19:18:17
Форум: Free Pascal Compiler
Тема: Чтение и парсинг больших текстовых файлов
Ответы: 54
Просмотры: 44872

Re: Чтение и парсинг больших текстовых файлов

Позвольте не согласиться.

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

Добавлено спустя 10 минут 19 секунд:
Результат работы зависит от наличия или отсутствия ключа компилятора {$H+}
Если ключ есть, то дает ошибку ...
IvanS
12.03.2013 17:54:50
Форум: Free Pascal Compiler
Тема: Чтение и парсинг больших текстовых файлов
Ответы: 54
Просмотры: 44872

Re: Чтение и парсинг больших текстовых файлов

IvanS ну в начальном сообщении было сказано что файл содержит вещественные числа разделённые пробелами и табами, а сейчас вы приводите пример - тут каша из выражений (?), вещественных чисел в обычном представлении и научного представления вещественных чисел. тут конечно TParser в изначальном виде ...
IvanS
11.03.2013 20:11:31
Форум: Free Pascal Compiler
Тема: Чтение и парсинг больших текстовых файлов
Ответы: 54
Просмотры: 44872

Re: Чтение и парсинг больших текстовых файлов

Я бы использовал стандартный TParser и не парился бы с производительностью.

Пример файла:
This is first section
1E-5 2.3E-5 3.5E-4
/

This is second section
2*3 3*2 3*5 4*3 /

--This is comment
/ This is comment also

This is third section
2*3E-3 3*2.034 3*-5.03E-5 4*-3.045e4 / may be comments ...
IvanS
12.02.2013 13:39:06
Форум: Free Pascal Compiler
Тема: Чтение и парсинг больших текстовых файлов
Ответы: 54
Просмотры: 44872

Re: Чтение и парсинг больших текстовых файлов

P.S. Жаль что, как я понял, такой способ не очень-то подойдет.
В текстовом файле еще комментарии понатыканы.
Ну тогда только последовательная обработка символ за символом. Что-то типа этого:
var x:char;
mode:integer; // текущей режим: 0 - разделители, 1 - число, 2 - паскалевские ...
IvanS
10.02.2013 12:59:01
Форум: Free Pascal Compiler
Тема: Чтение и парсинг больших текстовых файлов
Ответы: 54
Просмотры: 44872

Re: Чтение и парсинг больших текстовых файлов

IvanS
А Вы не пробовали читать числа из файла просто ( Read ()), без всяких преобразований, поисков и т.п. причуд научной мысли?

Вопрос не в чтении, а в парсинге. На самом деле в строке могут оказаться не только числа и пробелы, но и "комментарии", которые нужно отделять. В общем, там парсинг ...
IvanS
10.02.2013 01:48:18
Форум: Free Pascal Compiler
Тема: Чтение и парсинг больших текстовых файлов
Ответы: 54
Просмотры: 44872

Чтение и парсинг больших текстовых файлов

Дано:
Текстовый файл, содержащий действительные числа, разделенные либо пробелами либо знаками табуляции (результаты расчета в стороннем научном ПО). Размер файла порядка 1 - 5 Гб.
Числовая информация разбита на строки, содержащие по нескольку чисел.

Задача:
Прочитать файл и получить массив array ...