很多使用過Turbo C的朋友喜歡用fopen()函數(shù)來讀寫文件,在Visual C++環(huán)境中您也可以使用fopen()來讀寫文件。而且您還可以使用Visual C++中的標(biāo)準(zhǔn)的打開文件對話框,這樣可以使選取讀寫文件的路徑更方便。具體的做法是這樣的。
首先您需要使用到MFC基本類庫,在您原有的Visual C++程序中加上一個由CFileDialog類派生的新類,例如是CMyFileDialog,然后用這個新類定義一個對象,例如是:myDlg,使用這個對象的DoModal()方法,就可以呼出打開文件的對話框。這樣,您只要把被選中的路徑名及文件名傳送給fopen()函數(shù)就可以打開讀寫這個文件了。
CMyFileDialog myDlg(true);
定義一個對話框?qū)ο?BR> myDlg.DoModal();
呼出打開文件對話框
CString fileName;
定義一個Cstring類型的字符串來存儲文件的路徑及文件名
fileName=myDlg.GetPathName();
得到文件的路徑及文件名
由于fopen()函數(shù)中需要的文件名參數(shù)是字符型的,所以我們還需要把CString類型的文件名轉(zhuǎn)換為字符類型的變量。
int i, length;
定義i作為循環(huán)變量,定義length作為文件路徑及文件名的長度
Char* FileName;
定義char型的字符指針來存儲文件名,給fopen()函數(shù)使用
length=fileName.GetLength();
把文件名的長度賦給length變量
FileName=new char[length];
給char型的指針變量FileName分配內(nèi)存空間
for(i=0;i把CString型變量fileName中的字符一個一個地賦給char型的指針變量FileName
*(FileName+i)=fileName.GetAt(i);
*(FileName+length)=NULL;
在FileName變量的最后加上一個結(jié)束標(biāo)志
這樣,您就要吧使用fopen(FileName,"w")來寫文件,或者是用fopen(FileName,"r")來讀文件了。FileName就是使用打開文件對話框得到的文件路徑及文件名。
首先您需要使用到MFC基本類庫,在您原有的Visual C++程序中加上一個由CFileDialog類派生的新類,例如是CMyFileDialog,然后用這個新類定義一個對象,例如是:myDlg,使用這個對象的DoModal()方法,就可以呼出打開文件的對話框。這樣,您只要把被選中的路徑名及文件名傳送給fopen()函數(shù)就可以打開讀寫這個文件了。
CMyFileDialog myDlg(true);
定義一個對話框?qū)ο?BR> myDlg.DoModal();
呼出打開文件對話框
CString fileName;
定義一個Cstring類型的字符串來存儲文件的路徑及文件名
fileName=myDlg.GetPathName();
得到文件的路徑及文件名
由于fopen()函數(shù)中需要的文件名參數(shù)是字符型的,所以我們還需要把CString類型的文件名轉(zhuǎn)換為字符類型的變量。
int i, length;
定義i作為循環(huán)變量,定義length作為文件路徑及文件名的長度
Char* FileName;
定義char型的字符指針來存儲文件名,給fopen()函數(shù)使用
length=fileName.GetLength();
把文件名的長度賦給length變量
FileName=new char[length];
給char型的指針變量FileName分配內(nèi)存空間
for(i=0;i把CString型變量fileName中的字符一個一個地賦給char型的指針變量FileName
*(FileName+i)=fileName.GetAt(i);
*(FileName+length)=NULL;
在FileName變量的最后加上一個結(jié)束標(biāo)志
這樣,您就要吧使用fopen(FileName,"w")來寫文件,或者是用fopen(FileName,"r")來讀文件了。FileName就是使用打開文件對話框得到的文件路徑及文件名。

