當前位置:編程學習大全網 - 編程語言 - 說說讀寫壹個文件怎麽來完成,分別用c,c++,MFC三種庫函數來編寫代碼

說說讀寫壹個文件怎麽來完成,分別用c,c++,MFC三種庫函數來編寫代碼

12.2 C語言對文件操作的支持

12.2.1 文件的打開

FILE *fopen( "路徑+文件名","讀寫模式");

FILE *fopen(const char *filename, const char *mode);

讀寫模式:(1)r -- 用於讀 (2)w -- 用於寫 (3)a -- 用於寫,且文件必須存在

12.2.2 文件的寫入

fwrite("寫入的內容",每項字節數,長度,寫入的文件的FILE指針);

size_t fwrite(const void *buffer,size_t size,size_t count,FILE *stream);

另外,strlen()函數可以獲得字符串長度。

12.2.3 文件的關閉

fclose(FILE類指針);

fclose(FILE *pFile)

文件關閉後,寫在文件緩沖區的內容才正式寫入到文件中。

12.2.4 fflush函數

fflush()是將緩沖區的數據馬上寫入文件中。即使不關閉文件,也能將修改的內容寫入文件中。

12.2.5 文件指針定位

fseek(FILE類指針,偏移量,起始位置)

int fseek( FILE *stream, long offset, int origin );

起始位置:

SEEK_CUR: 當前位置

SEEK_END: 結尾處

SEEK_SET: 開頭處

12.2.6 文件的讀取

fread("存放讀取信息的字符串",每項字節數,長度,讀入的文件的FILE指針);

size_t fread(void *buffer,size_t size,size_t count,FILE *stream);

其中,第壹個參數可以是字符數組的名稱。比如:

char ch[100];

fread(ch,1,100,pFile);

#字符數組與字符串的關系

當字符數組的最後添加壹個'/0'後,就相當於字符串CString。使用字符數組名跟使用CString是壹樣的。

用字符數組接受文件字符,並把字符數組變成字符串格式的方法有三種:(即往字符數組的最後添加壹個'/0')

(1)計算好,直接在最後添加'/0'

(2)使用memset()函數將字符數組全部置0,然後保證最後留壹個位置。

(3)先獲取文件長度:可以用fseek移動至文件末尾,然後用ftell獲得文件當前位置,即文件長度。

然後直接以長度為索引,將數組的最後壹個字符置為0。

12.2.7 二進制文件和文本文件

二進制文件和文本文件其實內部都是由二進制數據組成,只不過文本文件多了回車(0D)和換行

(0A),可以以文本方式打開而已。

12.2.8 文本方式和二進制方式

以文本方式 寫入 數據時,遇 “回車” 變 “回車-換行”。

以文本方式 讀取 數據時,遇 “回車-換行”變 “回車”。

以二進制方式讀取或寫入數據,都保持原格式。

12.3 C++對文件操作的支持

C++語言中,有數據流類支持文件的讀寫,但使用得比較少。

讀文件,可以使用ofstream類。

寫文件,可以使用ifstream類。

12.4 Win32 API對文件操作的支持

WIN32API提供了壹些與文件操作相關的功能很強大的函數。

12.4.1 文件的創建和打開 CreateFile()

12.4.2 文件的寫入 WriteFile()

12.4.3 文件的讀取 ReadFile()

12.5 MFC對文件操作的支持

涉及MFC編程的話,最好使用CFile對文件進行操作。

創建CFile文件:

CFile(文件路徑+文件名,文件打開標識)

CFile(LPCSTR lpszFileName,UINT nOpenFlags)

nOpenFlags參數取值:

modeCreate, modeRead, modeWrite, modeReadWrite, typeText, typeBinary

12.5.1 文件的寫入

file.Write()

12.5.2 文件的讀取

file.Read()

file.Close()

12.5.3 CFileDialog類

1.創建“另存為”對話框

CFileDialog fileDlg(FALSE);

fileDlg.DoModal();

2.創建“打開”對話框

CFileDialog fileDlg(TRUE);

fileDlg.DoModal();

3.改變對話框標題

fileDlg.m_ofn.lpstrTitle

4.設置過濾器

fileDlg.m_ofn.lpstrFilter

5.設置默認擴展名

fileDlg.m_ofn.lpstrDefExt

  • 上一篇:請幫忙解釋各種文件的後綴,謝謝啦
  • 下一篇:邵陽市雪峰博雅職業學校專業有哪些?專業介紹
  • copyright 2024編程學習大全網