3900,12 → 3900,16 |
* +20 = +0x14: byte: 0 |
* +21 = +0x15: dword: указатель на строку |
Чувствительность к регистру букв зависит от файловой системы. |
Можно указать кодировку, поместив в начале строки байт со значениями: |
Если путь начинается не с '/', то он считается относительным. |
Получить или установить текущую папку можно с помощью сисфункции 30. |
'../' в начале пути означает подъём на одну папку относительно текущей. |
Можно указать кодировку строки, поместив в её начале байт со значениями: |
* 1 = cp866 |
* 2 = UTF-16LE |
* 3 = UTF-8 |
иначе будет использоваться кодировка cp866. |
Формат строки: |
иначе будет использоваться кодировка cp866. В абсолютном пути можно |
поместить этот байт после '/' или добавить дополнительный '/' перед ним. |
Формат абсолютного пути: |
/base/number/dir1/dir2/.../dirn/file, |
где base/number идентифицирует устройство, на котором ищется файл: |
* RD/1 = рамдиск |
3924,9 → 3928,6 |
* '/HD0/1/folder/file.txt',0 |
* '/hd2/2/pics/tanzania.bmp',0 |
* 2,'/',0,'sys','/',0,'F',0,'I',0,'L',0,'E',0,0,0 |
Также функция поддерживает относительные имена. Если путь начинается |
не с '/', то он считается относительно текущей папки. Получить или |
установить текущую папку можно с помощью сисфункции 30. |
|
Доступные подфункции: |
* подфункция 0 - чтение файла |
4134,7 → 4135,6 |
* +0: dword: 4 = номер подфункции |
* +4: dword: младший dword нового размера файла |
* +8: dword: старший dword нового размера файла |
(должен быть 0 для FAT) |
* +12 = +0xC: dword: 0 (зарезервировано) |
* +16 = +0x10: dword: 0 (зарезервировано) |
* +20 = +0x14: путь, правила формирования имён указаны в общем описании |
4142,10 → 4142,9 |
* eax = 0 - успешно, иначе код ошибки файловой системы |
* ebx разрушается |
Замечания: |
* Если новый размер файла меньше старого, файл усекается. Если |
новый размер больше старого, файл расширяется нулевыми символами. |
Если новый размер равен старому, единственным результатом вызова |
является установка даты/времени модификации и доступа в текущие. |
* Если новый размер файла меньше старого, файл усекается. |
Если новый размер больше старого, файл расширяется, и если |
разница в размере не больше 16 МБ, новое место очищается нулями. |
* Если свободного места на диске недостаточно для расширения файла, |
то функция расширит насколько возможно, после чего вернёт |
код ошибки 8. |