一、创建和读写文件
打开、创建文件:CreateFile (文件名需全路径)
关闭: CloseHandle
调整文件指针: SetFilePointer
无GetFilePointer函数,可通过
invoke SetFilePointer,hFile,0,NULL,FILE_CURRENT
获得当前的文件指针。
设置文件结尾:SetEndOfFile
有截断文件和扩充文件的功能。常与SetFilePointer 配合。
读文件: ReadFile
写文件: WriteFile
(读写两函数可以是同步的也可以是异步的,读写的扩展函数EX只能用于异步读写文件)
强制清空数据缓冲区:FlushFileBuffers
加解锁:LockFile UnlockFile
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; FormatText.asm
; 文件读写例子 —— 将 Unix 格式的文本文件(以0ah换行)转换成 PC 格式
; 的文本文件(以0dh,0ah换行),读写文件操作使用文件操作函数。
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;重要部分:
;********************************************************************
; 循环读出文件并处理每个字节
;********************************************************************
xor eax,eax
mov @dwBytesRead,eax
.while TRUE
invoke ReadFile,@hFile,addr @szReadBuffer,sizeof @szReadBuffer,addr @dwBytesRead,NULL
.break .if ! @dwBytesRead
invoke _FormatText,addr @szReadBuffer,@dwBytesRead,@hFileNew
.endw
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>