Как сделать фиксированную длину (смещения) для каждой строки в текстовом файле - PullRequest
0 голосов
/ 08 октября 2011

Я использую PHP для чтения строк по заданному смещению (используя fseek) как

fseek($fp, 51);
$data = fgets($fp, 4096);

Длина каждой строки меньше 10 символов.Можно ли сделать фиксированную длину 10, чтобы в начале каждой строки было 0,10,20,30,40, ....

Строки имеют вид

first
second
third

Какна самом деле, я хочу фактически (подделка действительно) сказать fseek(), что каждая строка состоит из 10 символов.

1 Ответ

0 голосов
/ 08 октября 2011

Похоже, вы должны использовать fgets. Нет способа эмулировать строки длиной 10 символов, когда они не без чтения данных и последующей их обработки (невозможно найти, не зная, где искать).

Вы можете просто использовать fgets для просмотра строк, а затем использовать их в качестве подстроки (до 10 символов)

Если причина, по которой вы хотите это сделать, связана с производительностью, вам, вероятно, придется хранить данные по-другому (или использовать индексацию). Чтобы иметь возможность искать конкретную запись, вам нужно уметь выяснить, какой этнри искать. Самый простой способ это сделать - заполнение строк. (Если каждая строка строки составляет 10 символов, то можно просто искать и обрезать на основе 10 * х)

...