機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
學(xué)C51的基礎(chǔ)7《 文件的輸入輸出函數(shù) 》 作者[cmh]©;
學(xué)C51的基礎(chǔ)7《 文件的輸入輸出函數(shù) 》 作者[cmh]©;
 更新時(shí)間:2008-8-17 16:34:13  點(diǎn)擊數(shù):48
【字體: 字體顏色
1.2  文件的輸入輸出函數(shù)

    鍵盤、顯示器、打印機(jī)、磁盤驅(qū)動(dòng)器等邏輯設(shè)備, 其輸入輸出都可以通過(guò)文件管理的方法來(lái)完成。而在編程時(shí)使用最多的要算
是磁盤文件, 因此本節(jié)主要以磁盤文件為主, 詳細(xì)介紹Turbo C2.0提供的文件操作函數(shù), 當(dāng)然這些對(duì)文件的操作函數(shù)也適合于非磁
盤文件的情況。
    另外, Turbo C2.0提供了兩類關(guān)于文件的函數(shù)。一類稱做標(biāo)準(zhǔn)文件函數(shù)也稱緩沖型文件函數(shù), 這是ANSI標(biāo)準(zhǔn)定義的函數(shù); 另一
類叫非標(biāo)準(zhǔn)文件函數(shù), 也稱非緩沖型文件函數(shù)。這類函數(shù)最早公用于UNIX操作系統(tǒng), 但現(xiàn)在MS-DOS3.0 以上版本的操作系統(tǒng)也可以
使用。下面分別進(jìn)行介紹。

    1.2.1  標(biāo)準(zhǔn)文件函數(shù)
    標(biāo)準(zhǔn)文件函數(shù)主要包括文件的打開(kāi)、關(guān)閉、讀和寫等函數(shù)。不象BASIC 、FORTRAN語(yǔ)方有順序文件和隨機(jī)文件之分, 在打開(kāi)時(shí)
就應(yīng)按不同的方式確定。Turbo C2.0并不區(qū)分這兩種文件, 但提供了兩組函數(shù), 即順序讀寫函數(shù)和隨機(jī)讀寫函數(shù)。

    一、文件的打開(kāi)和關(guān)閉
    任何一個(gè)文件在使用之前和使用之后, 必須要進(jìn)行打開(kāi)和關(guān)閉, 這是因?yàn)椴僮飨到y(tǒng)對(duì)于同時(shí)打開(kāi)的文件數(shù)目是有限制的, DOS
操作系統(tǒng)中, 可以在DEVICE.SYS中定義允許同時(shí)打開(kāi)的文件數(shù)n(用files=n定義)。其中n 為可同時(shí)打開(kāi)的文件數(shù), 一般n<=20。因
此在使用文件前應(yīng)打開(kāi)文件, 才可對(duì)其中的信息進(jìn)行存取。 用完之后需要關(guān)閉, 否則將會(huì)出現(xiàn)一些意想不到的錯(cuò)誤。Turbo C2.0
提供了打開(kāi)和關(guān)閉文件的函數(shù)。

    1. fopen()函數(shù)
    fopen函數(shù)用于打開(kāi)文件, 其調(diào)用格式為:

     FILE *fopen(char *filename, *type);

    在介紹這個(gè)函數(shù)之前, 先了解一下下面的知識(shí)。

    (1) 流(stream)和文件(file)
    流和文件在Turbo C2.0中是有區(qū)別的, Turbo C2.0 為編程者和被訪問(wèn)的設(shè)備之間提供了一層抽象的東西, 稱之為"流", 而將
具體的實(shí)際設(shè)備叫做文件。流是一個(gè)邏輯設(shè)備, 具有相同的行為。因此,用來(lái)進(jìn)行磁盤文件寫的函數(shù)也同樣可以用來(lái)進(jìn)行打印機(jī)的
寫入。在Turbo C2.0中有兩種性質(zhì)的流: 文字流(text stream)和二進(jìn)制(binary stream)。 對(duì)磁盤來(lái)說(shuō)就是文本文件和二進(jìn)制文
件。本軟件為了便于讓讀者易理解Turbo C2.0語(yǔ)言而沒(méi)有對(duì)流和文件作特別區(qū)分。

    (2) 文件指針FILE
    實(shí)際上FILE是一個(gè)新的數(shù)據(jù)類型。它是Turbo C2.0的基本數(shù)據(jù)類型的集合, 稱之為結(jié)構(gòu)指針。有關(guān)結(jié)構(gòu)的概念將在第四節(jié)中詳
細(xì)介紹, 這里只要將FILE理解為一個(gè)包括了文件管理有關(guān)信息的數(shù)據(jù)結(jié)構(gòu), 即在打開(kāi)文件時(shí)必須先定義一個(gè)文件指針。

    (3) 以后介紹的函數(shù)調(diào)用格式將直接寫出形式參數(shù)的數(shù)據(jù)類型和函數(shù)返回值的數(shù)據(jù)類型。例如: 上面打開(kāi)文件的函數(shù), 返回一
個(gè)文件指針, 其中形式參數(shù)有兩個(gè), 均為字符型變量(字符串?dāng)?shù)組或字符串指針)。本軟件不再對(duì)函數(shù)的調(diào)用格式作詳細(xì)說(shuō)明。

    現(xiàn)在再來(lái)看打開(kāi)文件函數(shù)的用法。
    fopen()函數(shù)中第一個(gè)形式參數(shù)表示文件名, 可以包含路徑和文件名兩部分。
如:
     "B:TEST.DAT"
     "C:\\TC\\TEST.DAT"
    如果將路徑寫成"C:\TC\TEST.DAT"是不正確的, 這一點(diǎn)要特別注意。
    第二個(gè)形式參數(shù)表示打開(kāi)文件的類型。關(guān)于文件類型的規(guī)定參見(jiàn)下表。
                       表  文件操作類型
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
          字符                含義
    ────────────────────────────
           "r"           打開(kāi)文字文件只讀
           "w"           創(chuàng)建文字文件只寫
           "a"           增補(bǔ), 如果文件不存在則創(chuàng)建一個(gè)
           "r+"          打開(kāi)一個(gè)文字文件讀/寫
  • 上一篇: 學(xué)C51的基礎(chǔ) 8 《 控制流程語(yǔ)句 》 作者[cmh]©
  • 下一篇: 學(xué)C51的基礎(chǔ)6 《 輸入輸出函數(shù)及控制流程語(yǔ)句 》 作者[cmh]©;
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1