Windows文件操作基础代码
2012-07-31 18:31
399 查看
Windows文件操作基础代码
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);
};
File类的实现如下:
1.打开文件:这里文件打开方式为读写、文件不存在则创建。
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);
}
2.关闭文件:
void File::close()
{
CloseHandle(hFile);
}
3.读文件:
int File::read(char*data,int len)
{
DWORD dwWrite;
bool rslt=ReadFile(hFile,data,len,&dwWrite,NULL);
assert(rslt);
return dwWrite;
} 4.写文件:
int File::write(char*data,int len)
{
DWORD dwWrite;
bool rslt=WriteFile(hFile,data,len,&dwWrite,NULL);
assert(rslt);
return dwWrite;
} 5.移动文件指针:
void File::movefp(long disp,int type)
{
SetFilePointer(hFile,disp,NULL,type);
} 6.其他文件操作API,复制、移动、删除(可以扩展):
void File::copy(LPCWSTR src,LPCWSTR des)
{
assert(CopyFile(src,des,true));
}
void File::move(LPCWSTR src,LPCWSTR des)
{
assert(MoveFile(src,des));
}
void File::del(LPCWSTR name)
{
assert(DeleteFile(name));
}
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);
};
File类的实现如下:
1.打开文件:这里文件打开方式为读写、文件不存在则创建。
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);
}
2.关闭文件:
void File::close()
{
CloseHandle(hFile);
}
3.读文件:
int File::read(char*data,int len)
{
DWORD dwWrite;
bool rslt=ReadFile(hFile,data,len,&dwWrite,NULL);
assert(rslt);
return dwWrite;
} 4.写文件:
int File::write(char*data,int len)
{
DWORD dwWrite;
bool rslt=WriteFile(hFile,data,len,&dwWrite,NULL);
assert(rslt);
return dwWrite;
} 5.移动文件指针:
void File::movefp(long disp,int type)
{
SetFilePointer(hFile,disp,NULL,type);
} 6.其他文件操作API,复制、移动、删除(可以扩展):
void File::copy(LPCWSTR src,LPCWSTR des)
{
assert(CopyFile(src,des,true));
}
void File::move(LPCWSTR src,LPCWSTR des)
{
assert(MoveFile(src,des));
}
void File::del(LPCWSTR name)
{
assert(DeleteFile(name));
}
相关文章推荐
- C语言基础之常用文件操作2(附代码)
- windows基础应用程序编程(十二)文件操作
- Windows程序设计零基础自学_14_Windows文件和目录操作
- C语言基础之常用文件操作1(附代码)
- c#基础知识---Windows 文件系统的操作
- Python(五)文件操作基础代码示例
- c#学习之基础篇(Windows应用程序 文件操作)
- Windows注册表操作基础代码
- Windows畸形文件操作总结
- JavaScript 直接操作本地文件的实现代码
- 统一Windows Azure和一般web应用之间的文件操作代码(转+译)
- 使用Python对Csv文件操作实例代码
- html制作简单框架网页二 实现自己的影音驿站 操作步骤及源文件下载 (可播放mp4、avi、mpg、asx、swf各种文件的视频播放代码)
- [C++基础]036_一段关于指针的误操作代码
- C# CLRInsideOut 托管代码与非托管代码互操作,产生相关调用代码的好工具 C++ 头文件转C# 的好工具
- Linux 下几个文件操作命令的代码实现(转载)
- 详谈PHP文件目录基础操作
- 在Windows如何解决下Cocos2d-x示例代码TestCpp我找不到lib问题库文件
- Java基础知识系列——文件操作
- 在Windows命令行窗口中输入并运行PHP代码片段(不需要php文件)的方法