您的位置:首页 > 其它

Windows API 函数学习(6)---文件操作

2007-03-30 11:18 393 查看
1.创建、读写和撤销文件

第一套方案:

HANDLE CreateFile(LPCTSTR lpFIleName,DWORD dwDesiredAccess,DWORD dwSharesMode,

           LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD dwCreationDiposition,DWORD dwFlagsAndAttributes,HANDLE hTemplateFile);//创建、打开或者截断一个文件,并返回一个能被用来存取该文件的句柄。此句柄允许读数据、写数据、移动文件的指针。

DWORD SetFilePointer(HANDLE hFile,LONG lDistanceToMove,PLONG lpDistanceToMoveHigh,DWORD dwMoveMethod);//用来为一个打开的文件设置文件指针。

BOOL WriteFile (HANDLE hFile,LPCVOID lpBuffer,DWORD nNumberofBytesToWrite,LPWORD lpNumberofBytesWritten,LPOVERLAPPEND lpOverlapped);//该函数向一个文件中写数据。数据从文件指针指示的位置开始写,全部写完后,文件指针由实际写如的字节数调整。

BOOL ReadFile(HANDLE hFile,LPVOID lpBUffer,DWORD nNumberofBytesToWrite,LPWORD lpNumberofBytesWritten,LPOVERLAPPEND lpOverlapped);//该函数从文件中读入数据,数据从文件指针指定的位置开始读入,读入完成后,文件指针按照读入的字节数进行调整。

BOOL CloseHandle(HANDLE hObject);//任何对象的一个打开句柄都可以用这个函数来关闭。

第二套方案:

HFILE _lcreat(LPCSTR lpPathName,int iAttribute);//创建或打开一个指定的文件

long _lseek(int handle,long offset,int origin);//在先前已打开的文件上将读写指针重新定位。

UINT _lwrite(HFILE hFile,LPCSTR lpBuffer,UINT uBytes);//函数将数据写如指定的文件中。

UINT _lread(HFILE hFile,LPVOID lpBuffer,UINT uBytes);//函数从指定的文件中读取数据。

HFILE _lclose(HFILE hFile);//函数关闭由hFile指定的文件,关闭成功,返回0。

2.其他文件操作函数

1)BOOL CopyFile(LPCTSTR lpExistingFileName,LPCTSTR lpNewFileName,BOOL bFailIfExists);//复制一个文件,同时复制其安全描述符以及任何其他的属性。第三个参数指明了新文件存在时的处理方法,TRUE代表调用失败,FALSE代表进行覆盖。

2)BOOL MoveFile(LPCTSTR lpExistingFileName,LPCTSTR lpNewFileName);//为一个现存的文件更改文件名。

3)BOOL DeleteFile(LPCTSTR lpFileName);//删除一个已有的文件。

4)DWORD GetFileSize(HANDLE hFile,LPWORD lpFileSizeHigh);//函数返回由hFile指定的文件尺寸。返回值包含文件尺寸的低32位,可选参数lpFileSizeHign包含尺寸的高32位值。

5)DWORD GetFileType(HANDLE hFile);//该函数用于判断指定的文件类型。

6)BOOL GetBinaryType(LPCTSTR lpApplicationName,LPDWORD lpBinaryType);//该函数用来判断一个文件是否是可执行文件。

7)BOOL GetFileTime(HANDLE hFile,LPFILENAME lpCreationTime,LPFILENAME lpLastAccessTime,LPFILENAEM lpLastWriteTim);//该函数可以读取文件创建、最后一次存取、最后一次修改的日期和时间。

8)BOOL GetFileVersionInfo(LPTSTR lptstrFileName,DWORD dwHandle,DWORD dwLen,LPVOID lpData);//该函数返回lptstrFileName所指向的文件的版本信息。为得到适当的dwHandle和dwLen,在调用前必须先调用GetFileVersionInfoSize。

如DWORD dwLen;

DWORD dwTemp;

LPVOID pVersion;

int rt1;

dwLen=GetFileVersionInfoSize("",&dwTemp);

pVersion=malloc(dwLen);

rt1=GetFileVersionInfo("",0,dwLen,pVersion);

9)BOOL GetFileInformationByHandle(HANDLE hFile,LPBY_HANDLE_FILE_INFORMATION lpFileInfomation);

函数获取由文件句柄所指定文件的信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows api attributes file