九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

C語言程序設(shè)計教程第11章北京郵電大學(xué)出版社.ppt

  • 資源ID:6333681       資源大?。?span id="24d9guoke414" class="font-tahoma">293.55KB        全文頁數(shù):28頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

C語言程序設(shè)計教程第11章北京郵電大學(xué)出版社.ppt

1 11 1文件概述11 2標(biāo)準(zhǔn)文件操作 第十一章文件 2 在程序運行時 程序本身和數(shù)據(jù)一般都存放在內(nèi)存中 當(dāng)程序運行結(jié)束后 存放在內(nèi)存中的數(shù)據(jù)被釋放 如果需要長期保存程序運行所需的原始數(shù)據(jù) 或程序運行產(chǎn)生的結(jié)果 就必須以文件形式存儲到外部存儲介質(zhì)上 一 文件與文件名文件是指存放在外部存儲介質(zhì)上的數(shù)據(jù)集合 為標(biāo)識一個文件 每個文件都必須有一個文件名 其一般結(jié)構(gòu)為 主文件名 擴展名 文件命名規(guī)則 遵循操作系統(tǒng)的約定 11 1文件概述 3 二 數(shù)據(jù)文件的存儲形式數(shù)據(jù)文件用于保存數(shù)據(jù) 其讀寫往往由應(yīng)用程序?qū)崿F(xiàn) 1 字符文件 也稱文本文件或正文文件 其數(shù)據(jù)以字符的形式出現(xiàn) 每個字符用一個ASCII代碼 占一個字節(jié) 表示 2 二進制文件 以數(shù)據(jù)在內(nèi)存中的形式原樣存于磁盤 在TurboC中 二進制文件中 整型數(shù)用2個字節(jié)表示 長整型用4個字節(jié)表示 實型數(shù) 浮點數(shù) 用4個字節(jié) 雙精度數(shù)用8個字節(jié)表示 4 例 十進制整數(shù)10000 在內(nèi)存中占兩字節(jié) 其存放形式是 0010 0111 0001 0000 在二進制文件中也按這中方式存放 占2個字節(jié) 在ASCII文件中 存放為31H 30H 30H 30H 30H 占5個字節(jié) 它們分別是1 0 0 0 0 0字母的ASCII碼 5 比較 字符文件的每1個字節(jié)存儲1個字符 因而便于對字符進行逐個處理 但一般占用存儲空間較多 而且要花費轉(zhuǎn)換時間 二進制與ASCII碼之間的轉(zhuǎn)換 二進制文件是把內(nèi)存中的數(shù)據(jù) 原樣輸出到磁盤文件中 可以節(jié)省存儲空間和轉(zhuǎn)換時間 但1個字節(jié)并不對應(yīng)1個字符 不能直接輸出字符形式 6 三 標(biāo)準(zhǔn)文件與非標(biāo)準(zhǔn)文件 1 標(biāo)準(zhǔn)文件系統(tǒng) 利用緩沖區(qū)將對磁盤文件進行操作的文件系統(tǒng)稱為緩沖 或高層 文件系統(tǒng) 用戶使用方便 從內(nèi)存向磁盤輸出數(shù)據(jù)時 必須首先輸出到緩沖區(qū)中 待緩沖區(qū)裝滿后 再一起輸出到磁盤文件中 從磁盤文件向內(nèi)存讀入數(shù)據(jù)時 則正好相反 首先將一批數(shù)據(jù)讀入到緩沖區(qū)中 再從緩沖區(qū)中將數(shù)據(jù)逐個送到程序數(shù)據(jù)區(qū) 2 非標(biāo)準(zhǔn)文件系統(tǒng) 不使用緩沖區(qū)的磁盤文件系統(tǒng)稱為非緩沖 或低層 文件系統(tǒng) 編程難度較大 但程序的執(zhí)行效率高 占用內(nèi)存資源較少 7 在C語言中 無論是使用標(biāo)準(zhǔn)文件系統(tǒng)還是非標(biāo)準(zhǔn)文件系統(tǒng) 都是利用I O庫函數(shù)完成文件操作的 8 要調(diào)用一個文件 需要有以下的信息 文件當(dāng)前的讀寫位置 與該文件對應(yīng)的內(nèi)存緩沖區(qū)的地址 文件操作方式等1 每個被使用的文件都在內(nèi)存中開辟一個區(qū) 用來存放文件的有關(guān)信息 這些信息是保存在一個結(jié)構(gòu)體類型的變量中 該結(jié)構(gòu)體類型是由系統(tǒng)定義的 取名為FILE 2 標(biāo)準(zhǔn)文件系統(tǒng)借助FILE數(shù)據(jù)結(jié)構(gòu)對文件進行管理 利用文件指針讀寫文件 每當(dāng)程序成功打開一個文件 系統(tǒng)就在內(nèi)存建立一個與該文件對應(yīng)的FILE結(jié)構(gòu)體變量 并返回該變量的指針 地址 11 2標(biāo)準(zhǔn)文件操作 一 標(biāo)準(zhǔn)文件FILE結(jié)構(gòu)指針 9 3 在程序中定義一個指針變量 用以保存已打開文件所對應(yīng)的FILE結(jié)構(gòu)在內(nèi)存的地址 此后用戶程序就可用此FILE指針來實現(xiàn)對指定文件的存取操作 定義文件指針變量的一般形式為 FILE 文件結(jié)構(gòu)指針變量名例如 FILE fp 注意 1 只有通過文件指針 才能調(diào)用相應(yīng)的文件 2 對文件操作的庫函數(shù) 函數(shù)原型均在頭文件stdio h中 3 文件操作的過程 對磁盤文件的操作必須 先打開 再讀寫 最后關(guān)閉 10 打開 文件的含義 以某中方式從磁盤上查找指定的文件或創(chuàng)建一個新文件 1 文件的打開 fopen 函數(shù)形式 FILE fopen char filename char mode filename 文件名 可以包含驅(qū)動器 路徑 文件名 擴展名 mode 打開方式FILE 返回值1 如果成功打開 返回一個指向被打開文件的文件信息區(qū)的起始地址 2 如果打開失敗 返回一個NULL指針 二 標(biāo)準(zhǔn)文件的打開操作 11 r 只讀 為輸入打開一個文本文件 w 只寫 為輸出打開一個文本文件 a 追加 向文本文件尾增加數(shù)據(jù) rb 只讀 為輸入打開一個二進制文件 wb 只寫 為輸出打開一個二進制文件 ab 追加 向二進制文件尾增加數(shù)據(jù) r 讀寫 為讀 寫打開一個文本文件 w 讀寫 為讀 寫建立一個新的文本文件 a 讀寫 為讀 寫打開一個文本文件 rb 讀寫 為讀 寫打開一個二進制文件 wb 讀寫 為讀 寫建立一個新的二進制文件 ab 讀寫 為讀 寫打開一個二進制文件 2 文件打開方式參數(shù) 12 3 在程序開始運行時 系統(tǒng)自動打開以下標(biāo)準(zhǔn)文件 并自動地定義了對應(yīng)的FILE結(jié)構(gòu)指針變量 13 4 說明 1 用 r 方式打開的文件應(yīng)該已經(jīng)存在 如果不存在則打開失敗 2 用 w 方式打開的文件 如果不存在該文件 則新建立一個 如果存在該文件 則在打開時將該文件刪去 然后重新建立一個新文件 3 如果希望向文件末尾添加新的數(shù)據(jù) 不希望刪除原有數(shù)據(jù) 則應(yīng)該用 a 方式打開 4 如果不能實現(xiàn) 打開 的任務(wù) fopen函數(shù)的返回值是一個NULL空指針 其值在頭文件stdio h中被定義為 14 為增強程序的可靠性 常用下面的方法打開一個文件 if fp fopen 文件名 操作方式 NULL printf cannotopenthisfile n exit 0 關(guān)于exit 函數(shù)1 用法 voidexit 程序狀態(tài)值 2 功能 關(guān)閉已打開的所有文件 結(jié)束程序運行 返回操作系統(tǒng) 并將 程序狀態(tài)值 返回給操作系統(tǒng) 當(dāng) 程序狀態(tài)值 為 時 表示程序正常退出 非 值時 表示程序出錯退出 15 三 關(guān)閉標(biāo)準(zhǔn)文件 程序?qū)ξ募淖x寫操作完成后 必須關(guān)閉文件 以保證文件的完整性 格式 fclose 文件指針 1 fclose fp 關(guān)閉fp所指的文件 并返回一個整數(shù)值 若成功地關(guān)閉了文件 則返回一個0值 否則返回一個非零值 2 fcloseall 同時關(guān)閉程序中已打開的多個文件 標(biāo)準(zhǔn)設(shè)備文件除外 將各文件緩沖區(qū)未裝滿的內(nèi)容寫到相應(yīng)的文件中去 并釋放這些緩沖區(qū) 返回關(guān)閉文件的數(shù)目 16 四 標(biāo)準(zhǔn)文件的讀寫操作 1 字符讀寫函數(shù)fgetc和fputcintfputc intc FILE fp 把字符c寫入fp所指的文件intfgetc FILE fp 從fp所指的文件中讀一個字符 返回讀得的字符 對于文本文件 遇文件尾時返回EOF 其值在頭文件stdio h中被定義為 1 對于二進制文件 用feof fp 判別是否遇文件尾 feof fp 1說明遇文件尾 17 例1 函數(shù)fgetc和fputc的使用 include stdio h include conio h main FILE fp1 fp2 charfile1 20 file2 20 charch clrscr printf pleaseinputfile1 sname scanf s file1 fp1 fopen file1 r 18 if fp1 NULL printf cannotopenthisfile n exit 0 printf pleaseinputfile2 sname scanf s file2 fp2 fopen file2 w if fp2 NULL printf cannotopenthisfile n exit 0 ch fgetc fp1 while ch EOF fputc ch fp2 ch fgetc fp1 fclose fp1 fclose fp2 19 2 字符串讀寫函數(shù)fgets和fputs庫函數(shù)fputs 向fp所指文件輸出一個字符串1 用法 intfputs constchar str FILE fp 2 功能 把str寫入fp所指的文件 庫函數(shù)fgets 從文件中讀一個字符串1 用法 char fgets char str intn FILE fp 2 功能 從fp所指的文件中讀n 1個字節(jié)到str str最后一個字節(jié)加 0 如果在讀入規(guī)定長度之前遇到文件尾EOF或換行符 讀入即結(jié)束 20 例2 函數(shù)fputs和fgets的使用 includemain FILE fp char ch1 Howareyou charch2 20 clrscr fp fopen d infile txt w if fp NULL printf cannotopenthisfile n exit 0 fputs ch1 fp rewind fp 用于把文件指針移到文件的開頭 fgets ch2 strlen ch 1 fp printf s ch2 21 3 格式化讀寫函數(shù)fscanf和fprintf形式 fprintf 文件指針 格式控制 變量列表 fscanf 文件指針 格式控制 變量地址列表 除增加 文件指針 外 與scanf 和printf 函數(shù)的功能相似 例如 inti 3 floatf 9 80 fprintf fp 2d 6 2f i f fprintf 函數(shù)的作用是 將變量i按 2d格式 變量f按 6 2f格式 以逗號作分隔符 輸出到fp所指向的文件中 3 9 80 表示1個空格 例3 函數(shù)fscanf和fprintf的使用 main FILE fpr fpw intj clrscr fpr fopen d creatr txt r fpw fopen d creatw txt w if fpr NULL fpw NULL printf cannotopenfile n exit 0 definenumber3 include includetypedefstruct longnum charname 10 intage student studenttest number for j 0 j number j fscanf fpr ld s d 23 intfwrite void buffer unsignedsize unsignedcount FILE fp 將buffer地址開始的信息 寫入count次 每次寫size字節(jié)至文件fp中 函數(shù)返回值等于實際寫入的次數(shù) 可能少于count typedefstruct longnum charname 10 intage student studentstu 3 for j 0 j number j fwrite stu j sizeof student 1 fp 4 讀 寫一個數(shù)據(jù)塊fread fwrite 24 intfread void buffer unsignedsize unsignedcount FILE fp 從文件fp中讀入count次 每次讀size字節(jié) 讀入的信息存在buffer指針指向的緩沖區(qū) 函數(shù)返回值等于實際讀入的次數(shù) 可能少于count typedefstruct longnum charname 10 intage student studenttest 3 作用 按數(shù)據(jù)項 即數(shù)據(jù)塊 進行操作 通過它們可以方便地對程序中的數(shù)組 結(jié)構(gòu)體數(shù)據(jù)進行整體輸入輸出 函數(shù)操作完成后 將返回讀出或?qū)懭氲臄?shù)據(jù)項項數(shù) for j 0 j number j fread 25 讀 寫函數(shù)的選用原則 從功能角度來說 fread 和fwrite 函數(shù)可以完成文件的任何數(shù)據(jù)讀 寫操作 但為方便起見 依下列原則選用 1 讀 寫1個字符 或字節(jié) 數(shù)據(jù)時 選用fgetc 和fputc 函數(shù) 2 讀 寫1個字符串時 選用fgets 和fputs 函數(shù) 3 整體讀 寫結(jié)構(gòu)體或數(shù)組時 選用fread 和fwrite 函數(shù) 4 讀 寫1個 或多個 含格式的數(shù)據(jù)時 選用fscanf 和fprintf 函數(shù) 26 文件的操作步驟 1 定義文件指針 FILE 2 建立文件指針和文件名的關(guān)系 fopen 3 進行讀或?qū)懖僮?4 關(guān)閉文件 fclose 例如 要將文本文件1中字符復(fù)制到文件2中 定義內(nèi)存變量ch和兩個文件指針fp1和fp2 反復(fù)執(zhí)行ch fgetc fp1 和fputc ch fp2 語句直到feof fp1 為真止 27 文件中有一個位置指針 指向當(dāng)前讀寫的位置 我們可以使用有關(guān)函數(shù)來改變其位置 以完成文件的隨機讀寫 四 標(biāo)準(zhǔn)文件的定位函數(shù) fseek 函數(shù) 調(diào)用形式為 fseek 文件類型指針 位移量 起始點 說明 位移量一般是long型數(shù)據(jù) 起始點用0 1或2表示 函數(shù)的作用 是使文件指針移動到所需的位置 若調(diào)用成功 返回值為0 否則返回一個非零值 28 例如 fseek fp 20L 0 把文件指針從文件開頭移到第20個字節(jié)處 fseek fp 20L 2 把文件指針從文件尾向前移動20個字節(jié) ftell 函數(shù) 調(diào)用形式為 ftell 文件類型指針 函數(shù)的作用 得到文件指針離開文件起點的字節(jié)數(shù) 若調(diào)用不成功 返回 1L 表示出錯 例如 longi i ftell fp if i 1L printf error n rewind 函數(shù) 調(diào)用形式為 rewind 文件類型指針 函數(shù)的作用 用于把文件指針移到文件的開頭 移動成功時 返回值為0 否則返回一個非零值

注意事項

本文(C語言程序設(shè)計教程第11章北京郵電大學(xué)出版社.ppt)為本站會員(max****ui)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!