在线现看午夜福利片|女人16久久免费视频|鲁丝片一区鲁丝片二区鲁丝|一区二区三区欧美在线

  1. 
    
    <b id="glvx9"></b>
        1. <blockquote id="glvx9"><meter id="glvx9"></meter></blockquote>
            首頁(yè) 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
            2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
            MPA考試 | 中科院
            四六級(jí) | 職稱英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
            新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
            計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
            華為認(rèn)證 | Java認(rèn)證
            公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
            報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
            人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
            駕駛員 | 網(wǎng)絡(luò)編輯
            衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
            會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
            注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
            一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
            質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
            設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
            城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
            繽紛校園 | 實(shí)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

            計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言入門教程:文件操作

            考試吧提供了“計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言入門教程”,幫助考生備考計(jì)算機(jī)等級(jí)考試。

              4.清除和設(shè)置文件緩沖區(qū)

              (1).清除文件緩沖區(qū)函數(shù):

              int fflush(FILE *stream);

              int flushall();

              fflush()函數(shù)將清除由stream指向的文件緩沖區(qū)里的內(nèi)容,常用于寫完一些數(shù)據(jù)后,立即用該函數(shù)清除緩沖區(qū),以免誤操作時(shí),破壞原來(lái)的數(shù)據(jù)。

              flushall()將清除所有打開文件所對(duì)應(yīng)的文件緩沖區(qū)。

              (2).設(shè)置文件緩沖區(qū)函數(shù)

              void setbuf(FILE *stream,char *buf);

              void setvbuf(FILE *stream,char *buf,int type,unsigned size);

              這兩個(gè)函數(shù)將使得打開文件后,用戶可建立自己的文件緩沖區(qū),而不使用fopen()函數(shù)打開文件設(shè)定的默認(rèn)緩沖區(qū)。

              對(duì)于setbuf()函數(shù),buf指出的緩沖區(qū)長(zhǎng)度由頭文件stdio.h中定義的宏BUFSIZE的值決定,缺省值為512字節(jié)。當(dāng)選定buf為空時(shí),setbuf函數(shù)將使的文件I/O不帶緩沖。而對(duì)setvbuf函數(shù),則由malloc函數(shù)來(lái)分配緩沖區(qū)。參數(shù)size指明了緩沖區(qū)的長(zhǎng)度(必須大于0),而參數(shù)type則表示了緩沖的類型,其值可以取如下值:

              type 值 含義

              _IOFBF 文件全部緩沖,即緩沖區(qū)裝滿后,才能對(duì)文件讀寫

              _IOLBF 文件行緩沖,即緩沖區(qū)接收到一個(gè)換行符時(shí),才能對(duì)文件讀寫

              _IONBF 文件不緩沖,此時(shí)忽略buf,size的值,直接讀寫文件,不再經(jīng)過文件緩沖區(qū)緩沖

              5.文件的隨機(jī)讀寫函數(shù)

              前面介紹的文件的字符/字符串讀寫,均是進(jìn)行文件的順序讀寫,即總是從文件的開頭開始進(jìn)行讀寫。這顯然不能滿足我們的要求,C語(yǔ)言提供了移動(dòng)文件指針和隨機(jī)讀寫的函數(shù),它們是:

              (1).移動(dòng)文件指針函數(shù):

              long ftell(FILE *stream);

              int rewind(FILE *stream);

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

              函數(shù)ftell()用來(lái)得到文件指針離文件開頭的偏移量。當(dāng)返回值是-1時(shí)表示出錯(cuò)。

              rewind()函數(shù)用于文件指針移到文件的開頭,當(dāng)移動(dòng)成功時(shí),返回0,否則返回一個(gè)非0值。

              fseek()函數(shù)用于把文件指針以origin為起點(diǎn)移動(dòng)offset個(gè)字節(jié),其中origin指出的位置可有以下幾種:

              origin 數(shù)值 代表的具體位置

              SEEK_SET 0 文件開頭

              SEEK_CUR 1 文件指針當(dāng)前位置

              SEEK_END 2 文件尾

              例如:

              fseek(fp,10L,0);

              把文件指針從文件開頭移到第10字節(jié)處,由于offset參數(shù)要求是長(zhǎng)整型數(shù),故其數(shù)后帶L。

              fseek(fp,-15L,2);

              把文件指針從文件尾向前移動(dòng)15字節(jié)。

              (2).文件隨機(jī)讀寫函數(shù)

              int fread(void *ptr,int size,int nitems,FILE *stream);

              int fwrite(void *ptr,int size,int nitems,FILE *stream);

              fread()函數(shù)從流指針指定的文件中讀取nitems個(gè)數(shù)據(jù)項(xiàng),每個(gè)數(shù)據(jù)項(xiàng)的長(zhǎng)度為size個(gè)字節(jié),讀取的nitems數(shù)據(jù)項(xiàng)存入由ptr指針指向的內(nèi)存緩沖區(qū)中,在執(zhí)行fread()函數(shù)時(shí),文件指針隨著讀取的字節(jié)數(shù)而向后移動(dòng),最后移動(dòng)結(jié)束的位置等于實(shí)際讀出的字節(jié)數(shù)。該函數(shù)執(zhí)行結(jié)束后,將返回實(shí)際讀出的數(shù)據(jù)項(xiàng)數(shù),這個(gè)數(shù)據(jù)項(xiàng)數(shù)不一定等于設(shè)置的nitems,因?yàn)槿粑募袥]有足夠的數(shù)據(jù)項(xiàng),或讀中間出錯(cuò),都會(huì)導(dǎo)致返回的數(shù)據(jù)項(xiàng)數(shù)少于設(shè)置的nitems。當(dāng)返回?cái)?shù)不等于nitems時(shí),可以用feof()或ferror()函數(shù)進(jìn)行檢查。

              fwrite()函數(shù)從ptr指向的緩沖區(qū)中取出長(zhǎng)度為size字節(jié)的nitems個(gè)數(shù)據(jù)項(xiàng),寫入到流指針stream指向的文件中,執(zhí)行該操作后,文件指針將向后移動(dòng),移動(dòng)的字節(jié)數(shù)等于寫入文件的字節(jié)數(shù)目。該函數(shù)操作完成后,也將返回寫入的數(shù)據(jù)項(xiàng)數(shù)。

              二、非標(biāo)準(zhǔn)文件的讀寫

              這類函數(shù)最早用于UNIX操作系統(tǒng),ANSI標(biāo)準(zhǔn)未定義,但有時(shí)也經(jīng)常用到,DOS 3.0以上版本支持這些函數(shù)。它們的頭文件為io.h。

              由于我們不常用這些函數(shù),所以在這里就簡(jiǎn)單說一下。

              1.文件的打開和關(guān)閉

              open()函數(shù)的作用是打開文件,其調(diào)用格式為:

              int open(char *filename, int access);

              該函數(shù)表示按access的要求打開名為filename的文件,返回值為文件描述字,其中access有兩部分內(nèi)容:

              基本模式和修飾符, 兩者用 (或)方式連接。修飾符可以有多個(gè), 但基本模式只能有一個(gè)。

              access的規(guī)定

              --------------------------------------------------------

              基本模式 含義 修飾符 含 義

              --------------------------------------------------------

              O_RDONLY 只讀 O_APPEND 文件指針指向末尾

              O_WRONLY 只寫 O_CREAT 文件不存在時(shí)創(chuàng)建文件, 屬性按基本模式屬性

              O_RDWR 讀寫 O_TRUNC 若文件存在, 將其長(zhǎng)度縮為0, 屬性不變

              O_BINARY 打開一個(gè)二進(jìn)制文件

              O_TEXT 打開一個(gè)文字文件

              ---------------------------------------------------------

              open()函數(shù)打開成功, 返回值就是文件描述字的值(非負(fù)值), 否則返回-1。

              close()函數(shù)的作用是關(guān)閉由open()函數(shù)打開的文件, 其調(diào)用格式為:

              int close(int handle);

              該函數(shù)關(guān)閉文件描述字handle相連的文件。

              2.讀寫函數(shù)

              int read(int handle, void *buf, int count);

              read()函數(shù)從handle(文件描述字)相連的文件中, 讀取count個(gè)字節(jié)放到buf所指的緩沖區(qū)中,

              返回值為實(shí)際所讀字節(jié)數(shù), 返回-1表示出錯(cuò)。返回0 表示文件結(jié)束。

              write()函數(shù)的調(diào)用格式為:

              int write(int handle, void *buf, int count);

              write()函數(shù)把count個(gè)字節(jié)從buf指向的緩沖區(qū)寫入與handle相連的文件中, 返回值為實(shí)際寫入的字節(jié)數(shù)。

              3.隨機(jī)定位函數(shù)

              lseek()函數(shù)的調(diào)用格式為:

              int lseek(int handle, long offset, int fromwhere);

              該函數(shù)對(duì)與handle相連的文件位置指針進(jìn)行定位,功能和用法與fseek()函數(shù)相同。

              tell()函數(shù)的調(diào)用格式為:

              long tell(int handle);

              該函數(shù)返回與handle相連的文件現(xiàn)生位置指針, 功能和用法與ftell()相同。

              相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言教程匯總

                   計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言常見知識(shí)點(diǎn)總結(jié)

                   計(jì)算機(jī)等考二級(jí)C50套上機(jī)程序填空題匯總

                   計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言三套全真預(yù)測(cè)試題

            文章搜索
            版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。