Windows程式設計中檔案操作有以下幾種常見方法

2021-05-23 20:11:57 字數 4346 閱讀 3241

1.c語言中檔案操作。

2.c++語言中的檔案操作。

3.win32 api函式檔案操作。

4.mfc cfile類檔案操作。

5.mfc cfiledialog類的檔案操作。

6.登錄檔檔案操作。

下面我來詳細說明一下各種檔案操作方法:

1. c語言中檔案操作.需要包含的標頭檔案stdio.h

寫入檔案:

file *pfile=fopen("c.txt","w");//以寫的方式開啟c.txt檔案。

fwrite("welcome to vcfans!",1,strlen("welcome to vcfans!"),pfile);//將資料寫入檔案。

fflush(pfile);//重新整理緩衝區。將緩衝區資料寫入檔案

fclose(pfile);//關閉檔案

讀取檔案:

file *pfile=fopen("c.txt","r");//以讀的方式開啟c.txt檔案。

char filecontent[100];

memset(filecontent,0,100);//初始化filecontent

fread(filecontent,1,100,pfile);//將剛才c.txt檔案中的內容讀入到filecontent

messagebox(filecontent);//輸出結果

fclose(pfile);//關閉檔案

2.c++語言中的檔案操作。需要包含的標頭檔案fstream.h

寫入檔案:

ofstream ofs("c++.txt");//建立ofstream對像。

ofs.write("welcome to vcfans!",strlen("welcome to vcfans!"));//將資料寫入檔案

ofs.close();//關閉ofstream物件。

讀取檔案:

ifstream ifs("c++.txt");

char filecontent[100];

memset(filecontent,0,100);//初始化filecontent

ifs.read(filecontent,100);//讀取資料

ifs.close();//關閉ifstream對像

messagebox(filecontent);//輸出結果

3.win32 api函式檔案操作。需要包含的標頭檔案winbase.h,需要類庫:kernel32.lib

寫入檔案:

handle hfile;//定義乙個控制代碼。

hfile=createfile("api.txt",

generic_write,

file_share_write,

null,

create_new,

file_attribute_normal,

null);//使用creatfile這個api函式開啟檔案

dword written;

writefile(hfile,"welcome to vcfans!",strlen("welcome to vcfans!"),&written,null);//寫入檔案

closehandle(hfile);//關閉控制代碼

讀取檔案:

handle hfile;//定義乙個控制代碼。

hfile=createfile("api.txt",

generic_read,

file_share_read,

null,

open_existing,

file_attribute_normal,

null);//使用creatfile這個api函式開啟檔案

dword dwdatalen;

char filecontent[100];

readfile(hfile,filecontent,100,&dwdatalen,null);//讀取資料

filecontent[dwdatalen]=0;//將陣列未尾設零。

closehandle(hfile);//關閉控制代碼

messagebox(filecontent);//輸出結果

4.mfc cfile類檔案操作。需要包含的標頭檔案afx.h

寫入檔案:

cfile file("cfile.txt",cfile::modecreate| cfile::modewrite);//構造cfile物件

file.write("welcome to vcfans !",strlen("welcome to vcfans !"));//寫入資料到檔案

file.close();//關閉cfile物件。

讀取檔案:

cfile file("cfile.txt",cfile::moderead);//構造cfile物件

char filecontent[100];

memset(filecontent,0,100);//初始化filecontent

file.read(filecontent,100);//讀入資料

file.close();//關閉檔案物件

messagebox(filecontent);//輸出資料

5.mfc cfiledialog類的檔案操作。需要包含的標頭檔案afxdlgs.h

寫入檔案:

cfiledialog filedlg(false,"txt","cfiledialog.txt");//建立cfiledialog物件

if(idok==filedlg.domodal())

;讀取檔案:

cfiledialog filedlg(true,"txt","cfiledialog.txt");//建立cfiledialog物件

if(idok==filedlg.domodal())

;6.登錄檔檔案操作。 

寫入登錄檔:

hkey hkey;

dword dw***=1;

regcreatekey(hkey_local_machine,"software//vcfans//reg",&hkey);//開啟登錄檔鍵

regsetvalueex(hkey,"***",0,reg_dword,(const byte*)&dw***,4);//寫入登錄檔資料

regclosekey(hkey);//關閉登錄檔鍵

讀登錄檔:

hkey hkey;

regopenkey(hkey_local_machine,"software//vcfans//reg",&hkey);//開啟登錄檔鍵

dword dwtype;

dword dwvalue;

dword dw***;

regqueryvalueex(hkey,"***",0,&dwtype,(lpbyte)&dw***,&dwvalue);//查詢登錄檔資料

regclosekey(hkey);//關閉登錄檔鍵

cstring str;

str.format("***=%d",dw***);

messagebox(str);

//以上**在vc6.0,windows 2k server下編譯通過。

我要補充有兩點:

1. cfiledialog   mydlg(true,"*.exe","myfile",null,"副檔名(*.exe)  |   *.exe   |    |  」,0)   

mydlg.domodal();   

第乙個引數設定為true是開啟檔案對話方塊,false是儲存檔案對話方塊。   

第二個引數是預設的副檔名,你可以換成你自己的副檔名或設定   為null和   0   

的三個引數是預設的檔名,你也可以。。。。。   

第四個引數是開啟的方式,具體情況你的查幫助或設定為null   

第五個引數是可選的副檔名,注意字串的末尾必須是   and     and     

第六個是父視窗的指標,一般設定為null或   0 

2 .我在同乙個程式中用cfile開啟了兩個檔案,乙個原檔案,乙個轉變後的檔案,在用第二個cfile時如果沒有指定路徑,則會預設為第乙個的開啟路徑!(這個費了我很多時間才弄明白,十足的菜鳥,面壁啊!)

ecc編碼部分:

出來每個字段編碼都是一樣的?!對不對還不知道!

補充學習:

系統裡一般有兩個版本的messagebox,乙個是unicode版本的,messagebboxw(),乙個是ascii版本的, messageboxa(),你在某些mfc類裡可以直接呼叫messaebox()是因為該類已經封裝了messagebox()函式(比如 cview,cdialog等)  

messagebox("ok!","ok!",mb_ok);   

afxmessagebox("ok!");

windows程式設計中檔案操作各種方法

windows程式設計中檔案操作有以下幾種常見方法 1.c語言中檔案操作。2.c 語言中的檔案操作。3.win32 api函式檔案操作。4.mfc cfile類檔案操作。5.mfc cfiledialog類的檔案操作。6.登錄檔檔案操作。下面我來詳細說明一下各種檔案操作方法 1.c語言中檔案操作.需...

Windows 檔案 目錄操作程式設計常用API

1 檔案操作函式 createfile 建立或開啟檔案 writefile 寫資料到檔案 readfile 從檔案讀資料 copyfile 拷貝檔案 movefile 移動或重新命名檔案 deletefile 刪除檔案 getmodulefilename 獲取檔案目錄 setfilepointer ...

windows檔案操作

目錄常用命令 1.建立資料夾 d mkdir test shandiao 2.建立檔案 d test shandiao type nul test.go 3.寫入內容 d test shandiao echo hello world test.go假設刪除d盤下的123資料夾 del s q d 1...