Где хранится текущая позиция файла во время операции чтения / записи?

Самый простой способ - создать макрос VBA, который обертывает эту функцию, например:

Function UserNameWindows() As String
    UserName = Environ("USERNAME")
End Function

Затем вызовите его из ячейки:

=UserNameWindows()

См. этой статьи для более подробной информации и других способов.

0
задан Nht_e0 13 July 2018 в 17:20
поделиться

1 ответ

Windows сохраняет текущее положение в структуре FILE_OBJECT . FILE_OBJECT создается путем вызова таких функций, как CreateFile и ReOpenFile.

Linux сохраняет текущую позицию в struct file . struct file создается функцией вызова open.

Когда вы открываете файл, вы получаете «дескриптор» или «дескриптор файла», который является всего лишь индексом в текущей таблице дескрипторов процесса. Вы можете сказать, что это просто ссылка на FILE_OBJECT / struct file. Побочным эффектом этого является то, что если вы дублируете дескриптор / дескриптор с помощью DuplicateHandle / dup, копия должна совместно использовать текущее смещение файла.

0
ответ дан Ivan 17 August 2018 в 12:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: