




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
8.3文件的打開與關閉一、文件的打開方法:為了打開一個文件,首先要為該文件定義一個文件類型指針;然后用C語言提供的fopen()函數打開文件。fopen函數有兩個參數:“文件名”與“文件使用方式”,它們均是字符串。一般形式:FILE*文件指針名;…文件指針名=fopen("文件名","文件使用方式");其中,“文件指針名”是FILE類型的指針變量;
“文件名”是被打開文件的文件名;
“使用文件方式”是指文件的類型和操作要求。“文件名”是字符串常量或字符串數組。舉例其意義是在當前目錄下打開文件teat.dat,只允許進行“讀”操作,并使fp指向該文件。舉例其功能是打開C盤上子目錄TC里的文件teat.dat,這是一個二進制文件,只允許按二進制方式進行讀操作兩個反斜線“\\”中的第一個表示轉義字符,第二個表示目錄。FILE*fp;fp=(“test.dat","r");FILE*fp;fp=("C:\\TC\\teat.dat","rb");char*mode含義注釋“r”只讀打開文本文件,僅允許從文件讀取數據“w”只寫打開文本文件,僅允許向文件輸出數據“a”追加打開文本文件,僅允許從文件尾部追加數據“rb”只讀打開二進制文件,僅允許從文件讀取數據“wb”只寫打開二進制文件,僅允許向文件輸出數據“ab”追加打開二進制文件,僅允許從文件尾部追加數據“r+”讀寫打開文本文件,允許輸入/輸出數據到文件“w+”讀寫創建新文本文件,允許輸入/輸出數據到文件“a+”讀寫打開文本文件,允許輸入/輸出數據到文件“rb+”讀寫打開二進制文件,允許輸入/輸出數據到文件“wb+”讀寫創建新二進制文件,允許輸入/輸出數據到文件“ab+”讀寫打開二進制文件,允許輸入/輸出數據到文件對于文件使用方式有以下幾點說明:(1)文件使用方式由“r,w,a,t,b,+”這六個字符拼成,各字符的含義是:r(read)表示讀出,w(write)表示寫入,a(append)表示在文件末尾追加,t(text)代表文本文件,可省略不寫,b(binary)代表二進制文件,+表示讀和寫。(2)凡用“
r”打開一個文件時,該文件必須已經存在,且只能從該文件讀出。(3)用“w”打開的文件只能向該文件寫入。若打開的文件不存在,則以指定的文件名建立該文件,若打開的文件已經存在,則將該文件刪去,重建一個新文件。(4)若要向一個已存在的文件追加新的信息,只能用“a”方式打開文件。但此時該文件必須是存在的,否則將會出錯。(5)在打開一個文件時,如果出錯,fopen將返回一個空指針值NULL。在程序中可以用這一信息來判別是否完成打開文件的工作,并作相應的處理。例如,下列程序段可用來檢查d盤上的一個文件file11.dat是否成功打開,并且進行相應處理:if((fp=fopen("d:\\file11.dat","rb")==NULL){printf("\ncannotopenthefiled:\\file11.dat");exit(0);}這個程序段的作用是:如果返回的指針為非空表示正常打開文件,若為空則表示不能打開d盤上的文件file11.dat文件,打印出錯信息“cannotopenthefiled:\\file11.dat”,然后執行exit(0)退出程序。標準輸入文件(鍵盤),標準輸出文件(顯示器),標準出錯輸出(出錯信息)是由系統打開的,可直接使用。二、文件的關閉方法:使用fclose()函數。一般形式:fclose(文件指針);舉例FILE*fp;…fclose(fp);如果不關閉文件而直接使程序停止運行,這時會丟失緩沖區中還未寫入文件的部分信息
將fp指向的緩沖區中的數據存放到外存儲器的文件中,然后釋放該緩沖區,使文件指針變量不再指向與該文件對應的FILE結構,從而斷開與文件的關聯。操作正常返回0,否則返回EOF(是在stdio.h文件中定義的符號常量,值為-1)。#include<stdio.h>#include<stdlib.h>voidmain(){
FILE*fpFile;intnStatus=0;If(fpFile=fopen("a.txt","w+"))==NULL){printf(“Openfilefailed!\n”);
exit(0);}fprintf(fpFile,"%s","TestFile");nStatus=fclose(fpFile);printf("%d",nStatus);}【例1】打開名為“a.txt”的文件,并向文件輸出字符串“TestFile”,然后關閉文件,同時在屏幕上輸出fclose的返回值。中斷正在執行的程序讀寫方式用exit函數時加/*定義聲明文件指針*/FILE*fp;/*打開文件*/fp=fopen("文件名","r");/*判斷是否打開文件*/if(fp==NULL){/*當文件打開失敗時的處理*/}/*對文件進行讀寫操作*//*關閉文件*/fclose(fp);文件操作的一般步驟例8-1
以只讀寫方式打開一個名為test.txt的文件,向文件中寫入字符串”cprogram”,然后關閉文件,并判斷文件是否成功打開與關閉。#include<stdio.h>voidmain(){FILE*fp;intk;fp=fopen("test.txt","w+");if(fp==NULL){printf("Fileopenerror\n");
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 九年級歷史上冊 第13課《英國的新生》教學設計 川教版
- 人音版一年級音樂上冊(簡譜)第6課《聆聽 小青蛙》教學設計
- 信息技術八年級下冊2.2《程序與傳感器》教學設計
- 人教版七年級上冊教學設計2.2.3眾多的河湖
- 公司員工請假單
- 人教版生物八下 8.2用藥與急救 【教案】
- 九年級英語下冊 Unit 1 AsiaPerid Ⅱ Reading教學設計設計(pdf)(新版)牛津版
- 人教版歷史(2016)上冊教學設計第5課 青銅器與甲骨文
- 2024華潤怡寶飲料(六安)有限公司招聘筆試參考題庫附帶答案詳解
- 三年級語文上冊 第四單元 14 小狗學叫配套教學設計 新人教版
- 2025年河南省新鄉市中考一模歷史試題(原卷版+解析版)
- 2025山東能源集團中級人才庫選拔易考易錯模擬試題(共500題)試卷后附參考答案
- 夏季四防知識考題及答案
- 第五單元:數學廣角-鴿巢問題(教學設計)-【大單元教學】六年級數學下冊同步備課系列(人教版)
- 2025年人民保險筆試題型及答案
- 2025-2030中國TPU膜行業市場現狀分析及競爭格局與投資發展研究報告
- 2024年內江市事業單位醫療崗招聘考試真題
- 造瘺口還納護理
- 《尼爾斯騎鵝旅行記》讀書分享課件
- 浙江省溫州市瑞安市2023-2024學年六年級下學期數學期中分項評價試卷(含答案)
- 山東省德州市2024年中考化學試卷(含答案)
評論
0/150
提交評論