创建和打开文件

【勇芳软件工作室】汉化HomePreviousNext

您可以使用CreateFile功能创建新文件或打开现有文件。您必须指定文件名,首选访问权限,共享模式,创建说明和属性。

在以下示例中,CreateFile打开一个现有文件进行阅读。

HANDLE hFile;

hFile = CreateFile("MYFILE.TXT", //打开MYFILE.TXT

GENERIC_READ, //打开阅读

FILE_SHARE_READ, //分享阅读

NULL, //没有安全

OPEN_EXISTING, //仅存在文件

FILE_ATTRIBUTE_NORMAL, //普通文件

NULL); //没有attr。模板

if (hFile == INVALID_HANDLE_VALUE) {

ErrorHandler("Could not open file."); /* process error */

}

在此示例中,CreateFile仅在名称为MYFILE.TXT的文件已存在于当前目录中才能成功。在尝试使用句柄访问该文件之前,应用程序应检查CreateFile的返回值。如果发生错误,应用程序应使用GetLastError函数来获取扩展错误信息并进行相应的响应。

必须关闭文件才能删除。以下行将关闭并删除MYFILE.TXT文件。

CloseHandle(hFile);

DeleteFile("MYFILE.TXT");

在以下示例中,CreateFile创建一个新文件并将其打开以进行写入。

HANDLE hFile;

hFile = CreateFile("MYFILE.TXT", //创建MYFILE.TXT

GENERIC_WRITE, //打开写作

0, //不要分享

NULL, //没有安全

CREATE_ALWAYS, //覆盖现有的

FILE_ATTRIBUTE_NORMAL | //普通文件

FILE_FLAG_OVERLAPPED, //异步I / O

NULL); //没有attr。模板

if (hFile == INVALID_HANDLE_VALUE) {

ErrorHandler("Could not open file."); //进程错误

}

除了标准属性(只读,隐藏,系统等)之外,还可以通过将指向SECURITY_ATTRIBUTES结构的指针作为第四个参数来指定安全属性。但是,底层文件系统必须支持这些属性的安全性,以使它们具有任何效果。有关安全性的更多信息,请参阅安全.