Перейти к содержимому
  • 0
KKosty4ka

filesystem.seek

Вопрос

Можете, пожалуйста, объяснить, как работает метод seek компонента filesystem

Документация говорит: seek(handle:number, whence:string, offset:number):number, но я не понимаю, что такое whence

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

29 минут назад, KKosty4ka сказал:

А как прочитать 15 байт с конца?

 

Так:

 

file:seek("end", 15)

print(file:read(15))

 

Или так:

file:seek("end", -15)

print(file:read(15))

 

Второй вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если мне не изменяет память whence это строка, которая может содержать:
"set" установить позицию чтения относительно начала файла,
"cur" относительно позиции, на которой она уже стоит,
"end" относительно конца файла.
Например этот код прочитает из файла 4 байта начиная с 10го:

file:seek("set", 10)
print(file:read(4))

 

Изменено пользователем ZO125

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как прочитать 15 байт с конца?

 

Так:

 

file:seek("end", 15)

print(file:read(15))

 

Или так:

file:seek("end", -15)

print(file:read(15))

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Боюсь оба варианта неправильные. Если вам надо прочитать всего один байт то в аргумент file:read(<сюда>) ставьте число 1.
В в том положительное число или отрицательное вам нужно-я бы поэксперементировал, но думаю отрицательное.
Предлагаю прочитать про функцию file:read из стандартной библиотеки lua io (в рукововодстве file:seek и file:read): http://lua.org.ru/contents_ru.html

 

Изменено пользователем ZO125

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...