您的位置:首页 > 编程语言 > C语言/C++

C++文件读写操作一 (API函数)

2009-07-29 23:23 344 查看
一、相关函数原型
1、CreateFile
创建或打开(文件 pipes 邮槽 通信资源 磁盘驱动器(仅适用于 windowsNT ) 控制台 文件夹(仅用于打开) )、返回对象句柄

HANDLE CreateFile(
LPCTSTR lpFileName, // 指向文件名的指针
DWORD dwDesiredAccess, // 访问模式(GENERIC_READ / GENERIC_WRITE)
DWORD dwShareMode, // 共享模式
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // 指向安全属性的指针
DWORD dwCreationDisposition, // 如何创建
DWORD dwFlagsAndAttributes, // 文件属性
HANDLE hTemplateFile // 用于复制文件句柄

);
2、WriteFile
写入

BOOL WriteFile(
HANDLE hFile, //文件句柄
LPCVOID lpBuffer, // 要写入的一个数据缓冲区
DWORD nNumberOfBytesToWrite, //要写入数据的字节数量
LPDWORD lpNumberOfBytesWritten, // 实际写入文件的字节数量
LPOVERLAPPED lpOverlapped // OVERLAPPED结构体指针,
// 如果文件是以FILE_FLAG_OVERLAPPED方式打开的话,那么这个指针就不能为

NULL

);

3、ReadFile
读取

BOOL ReadFile(
HANDLE hFile, //文件的句柄
LPVOID lpBuffer, // 用于保存读入数据的一个缓冲区
DWORD nNumberOfBytesToRead, //要读入的字符数

LPDWORD lpNumberOfBytesRead, //指向实际读取字节数的指针

LPOVERLAPPED lpOverlapped //OVERLAPPED结构体指针,
// 如果文件是以FILE_FLAG_OVERLAPPED方式打开的话,那么这个指针就不能为NULL

);

二、例子:
1、写入记事本

HANDLE hFile;
hFile=CreateFile(_T("test.txt"),GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
DWORD dwWrites;
WriteFile(hFile,"hello,world!",strlen("hello,world!"),
&dwWrites,NULL);
CloseHandle(hFile);


2、读取记事本中文本

HANDLE hFile;
hFile=CreateFile(_T("test.txt"),GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
char ch[100];
DWORD dwReads;
ReadFile(hFile,ch,100,&dwReads,NULL);
ch[dwReads]=0;
CloseHandle(hFile);
MessageBox(CString(ch));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: