在Visual C++中使用fopen()函數來讀寫檔案
劉志榮
很多使用過Turbo C的朋友喜歡用fopen()函數來讀寫檔案,在Visual C++環境中您也可以使用fopen()來讀寫檔案。而且您還可以使用Visual C++中的標準的開啟檔案對話方塊,這樣可以使選取讀寫檔案的路徑更方便。具體的做法是這樣的。
首先您需要使用到MFC基本類庫,在您原有的Visual C++程式中加上一個由CFileDialog類派生的新類,例如是CMyFileDialog,然後用這個新類定義一個對象,例如是:myDlg,使用這個對象的DoModal()方法,就可以呼出開啟檔案的對話方塊。這樣,您只要把被選中的路徑名及檔案名稱傳送給fopen()函數就可以開啟讀寫這個檔案了。
CMyFileDialog myDlg(true);
定義一個對話方塊對象
myDlg.DoModal();
呼出開啟檔案對話方塊
CString fileName;
定義一個Cstring類型的字串來隱藏檔的路徑及檔案名稱
fileName=myDlg.GetPathName();
得到檔案的路徑及檔案名稱
由於fopen()函數中需要的檔案名稱參數是字元型的,所以我們還需要把CString類型的檔案名稱轉換為字元類型的變數。
int i, length;
定義i作為迴圈變數,定義length作為檔案路徑及檔案名稱的長度
Char* FileName;
定義char型的字元指標來隱藏檔名,給fopen()函數使用
length=fileName.GetLength();
把檔案名稱的長度賦給length變數
FileName=new char[length];
給char型的指標變數FileName分配記憶體空間
for(i=0;i<length;i++)
把CString型變數fileName中的字元一個一個地賦給char型的指標變數FileName
*(FileName+i)=fileName.GetAt(i);
*(FileName+length)=NULL;
在FileName變數的最後加上一個結束標誌
這樣,您就要吧使用fopen(FileName,"w")來寫檔案,或者是用fopen(FileName,"r")來讀檔案了。FileName就是使用開啟檔案對話方塊得到的檔案路徑及檔案名稱。