Windows下对文件进行操作使用的一段基础代码File.h,首先是File类定义:
#pragma once
#include<Windows.h>
#include<assert.h>
class File
{
HANDLE hFile;//文件句柄
public:
void open(LPCWSTR fileName);
int read(char*data,int len);
void movefp(long disp,int type);
int write(char*data,int len);
void close();
static void copy(LPCWSTR src,LPCWSTR des);
static void move(LPCWSTR src,LPCWSTR des);
static void del(LPCWSTR name);
};
#include<Windows.h>
#include<assert.h>
class File
{
HANDLE hFile;//文件句柄
public:
void open(LPCWSTR fileName);
int read(char*data,int len);
void movefp(long disp,int type);
int write(char*data,int len);
void close();
static void copy(LPCWSTR src,LPCWSTR des);
static void move(LPCWSTR src,LPCWSTR des);
static void del(LPCWSTR name);
};
File类的实现如下:
void File::open(LPCWSTR fileName)
{
//使用CreatFile以读写方式打开一个文件
hFile=CreateFile(fileName,//文件名
GENERIC_WRITE|GENERIC_READ,//读写权限
FILE_SHARE_READ|FILE_SHARE_WRITE//共享读写权限
,NULL//安全特性
,OPEN_ALWAYS//CREATE_NEW-存在出错,CREATE_ALWAYS-改写存在文件,OPEN_EXISTING-不存在出错,OPEN_ALWAYS-不存在创建
//TruncATE_EXISTING-将现有文件长度缩短为0
,FILE_ATTRIBUTE_norMAL//FILE_ATTRIBUTE^X,X_ARCHIVE-标记归档,X_norMAL-默认,X_HIDDEN-隐藏,X_READONLY-只读,X_SYstem-系统
,NULL);
assert(hFile!=INVALID_HANDLE_VALUE);
}
{
//使用CreatFile以读写方式打开一个文件
hFile=CreateFile(fileName,//文件名
GENERIC_WRITE|GENERIC_READ,//读写权限
FILE_SHARE_READ|FILE_SHARE_WRITE//共享读写权限
,NULL//安全特性
,OPEN_ALWAYS//CREATE_NEW-存在出错,CREATE_ALWAYS-改写存在文件,OPEN_EXISTING-不存在出错,OPEN_ALWAYS-不存在创建
//TruncATE_EXISTING-将现有文件长度缩短为0
,FILE_ATTRIBUTE_norMAL//FILE_ATTRIBUTE^X,X_ARCHIVE-标记归档,X_norMAL-默认,X_HIDDEN-隐藏,X_READONLY-只读,X_SYstem-系统
,NULL);
assert(hFile!=INVALID_HANDLE_VALUE);
}
void File::close()
{
CloseHandle(hFile);
}
{
CloseHandle(hFile);
}
int File::read(char*data,int len)
{
DWORD dwWrite;
bool rslt=ReadFile(hFile,data,len,&dwWrite,NULL);
assert(rslt);
return dwWrite;
}
{
DWORD dwWrite;
bool rslt=ReadFile(hFile,data,len,&dwWrite,NULL);
assert(rslt);
return dwWrite;
}
int File::write(char*data,int len)
{
DWORD dwWrite;
bool rslt=WriteFile(hFile,data,len,&dwWrite,NULL);
assert(rslt);
return dwWrite;
}
{
DWORD dwWrite;
bool rslt=WriteFile(hFile,data,len,&dwWrite,NULL);
assert(rslt);
return dwWrite;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。