Что нового

Побайтный вывод в файл

w3d

Новичок
Сообщения
84
Репутация
3
Как можно вывести определенный байт в определенное место файла?
Filewrite просто дописывает в конец, а не переписывает с начала (что было-бы хоть каким-то выходом)
 
Автор
W

w3d

Новичок
Сообщения
84
Репутация
3
Сам себе отвечаю - FileOpen("test.txt", 2) :smile:
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Точно не уверен, но попробуй открывать файл как
Код:
FileOpen("filename", 16)
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Re: [РЕШЕНО] Побайтный вывод в файл

Здесь лучше использоват WinAPI.

Код:
Global $tBuffer, $hFile, $nBytes

; Создаем структуру (буфер) из 6 байт
$tBuffer = DllStructCreate('byte[6]')
; Заносим информацию (от балды) в буфер
For $i = 1 To 6
    DllStructSetData($tBuffer, 1, Random(0, 255, 1), $i)
Next
; Открываем файл для записи (добавления)
$hFile = _WinAPI_CreateFile('MyFile.txt', 2, 4)
; Устанавливаем позицию в файле куда будем писать данные (в данном случае 16)
_WinAPI_SetFilePointer($hFile, 16)
; Записываем в файл данные (6 байт) из буфера
_WinAPI_WriteFile($hFile, DllStructGetPtr($tBuffer), 6, $nBytes)
; Закрываем файл
_WinAPI_CloseHandle($hFile)
; Освобождаем ресурсы, связанные с буфером
$tBuffer = 0
 
Верх