CreateFile開啟檔案或者開啟目錄

2022-09-06 04:54:10 字數 2089 閱讀 2194

一、開啟目錄

引數列表:

lpfilename string 要開啟的檔案的名字

dwdesiredaccess long 如果為 generic_read 表示允許對裝置進行讀訪問;如果為 generic_write 表示允許對裝置進行寫訪問(可組合使用);如果為零,表示只允許獲取與乙個裝置有關的資訊

dwsharemode long, 零表示不共享; file_share_read 和/或 file_share_write 表示允許對檔案進行共享訪問

lpsecurityattributes security_attributes, 指向乙個security_attributes結構的指標,定義了檔案的安全特性(如果作業系統支援的話)

dwcreationdisposition long,下述常數之一:

create_new 建立檔案;如檔案存在則會出錯

create_always 建立檔案,會改寫前乙個檔案

open_existing 檔案必須已經存在。由裝置提出要求

open_always 如檔案不存在則建立它

truncate_existing 講現有檔案縮短為零長度

dwflagsandattributes long, 乙個或多個下述常數

file_attribute_archive 標記歸檔屬性

file_attribute_compressed 將檔案標記為已壓縮,或者標記為檔案在目錄中的預設壓縮方式

file_attribute_normal 預設屬性

file_attribute_hidden 隱藏檔案或目錄

file_attribute_readonly 檔案為唯讀

file_attribute_system 檔案為系統檔案

file_flag_write_through 作業系統不得推遲對檔案的寫操作

file_flag_no_buffering 禁止對檔案進行緩衝處理。檔案只能寫入磁碟卷的扇區塊

file_flag_random_access 針對隨機訪問對檔案緩衝進行優化

file_flag_sequential_scan 針對連續訪問對檔案緩衝進行優化

file_flag_delete_on_close 關閉了上一次開啟的控制代碼後,將檔案刪除。特別適合臨時檔案

也可在windows nt下組合使用下述常數標記:

security_anonymous, security_identification, security_impersonation, security_delegation, security_context_tracking, security_effective_only

htemplatefile long, 如果不為零,則指定乙個檔案控制代碼。新檔案將從這個檔案中複製擴充套件屬性

返回值如執行成功,則返回檔案控制代碼。

invalid_handle_value表示出錯,會設定getlasterror。即使函式成功,但若檔案存在,且指定了create_always 或 open_always,getlasterror也會設為error_already_exists

#include #include #include #include #include //cstring標頭檔案

#include using namespace std;

int main()

printf("opening %s success\n",sfilepath);

getchar();

closehandle(hfile);

system("pause");

return 0;

}

二、開啟檔案

#include #include #include #include #include //cstring標頭檔案

#include using namespace std;

int main()

printf("opening %s success\n",sfilepath);

getchar();

closehandle(hfile);

system("pause");

return 0;

}

CreateFile開啟磁碟格式要求

handle createfile lpctstrlpfilename dworddwdesiredaccess dworddwsharemode lpsecurity attributeslpsecurityattributes dworddwcreationdisposition dworddw...

CreateFile開啟串列埠時串列埠名字的寫法

開啟com1到com9用 m hcom createfile t com1 generic read generic write,0,null,open existing,null,null 或者m hcom createfile t com1 generic read generic write,...

檔案操作 CreateFile 和 fopen

1 第一種方法createfile 主要的檔案操作函式有 createfile,closehandle,readfile,writefile,setfilepointer,getfilesize。其中的讀寫操作是以字元為單位,獲得檔案大小也是以字元為單位。例項 include stdafx.h in...