在VisualC++中使用fopen()函數(shù)來(lái)讀寫文件

字號(hào):

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