999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C語言處理文件的關(guān)鍵技術(shù)

2017-04-14 19:06:19羅慧蘭
電子技術(shù)與軟件工程 2017年6期
關(guān)鍵詞:技術(shù)

C語言主要通過編寫代碼、編譯等方式實現(xiàn)運行,對于習(xí)慣使用Windows操作系統(tǒng)并通過雙擊鼠標(biāo)等方式操作文件的學(xué)習(xí)者來說,使用編程技術(shù)處理文件顯得較為難以入手,本文主要介紹C語言處理文件的幾個關(guān)鍵技術(shù),通過編寫代碼實現(xiàn)操作文件的目標(biāo),為學(xué)習(xí)者使用C語言代碼操作文件方式方法提供借鑒,促進編程應(yīng)用技術(shù)水平的提升。

【關(guān)鍵詞】C語言 代碼 文件 技術(shù)

本文以文本文件(.txt)為例,具體為:c:\file.txt,將通過介紹關(guān)聯(lián)文件、打開關(guān)閉、讀寫數(shù)據(jù)等C語言操作文件的關(guān)鍵技術(shù)讓C語言學(xué)習(xí)者充分掌握對文件的基本操作。

1 使用結(jié)構(gòu)體指針變量關(guān)聯(lián)文件技術(shù)

要善于利用C語言中的庫函數(shù)讀寫文件,使用庫函數(shù)定義好的結(jié)構(gòu)類型FILE管理對象文件的各種信息。

1.1 了解C語言操作文件方式

圖1是C語言操作文件方式圖,要實現(xiàn)C語言成功操作到磁盤里面的文件,必須通過文件名、使用方式和文件類型指針,也是我們用C語言操作文件的最主要實參。

1.2 了解結(jié)構(gòu)體FILE

在很多的C語言程序設(shè)計的教材中都提到讓學(xué)習(xí)者不必關(guān)心結(jié)構(gòu)體FILE內(nèi)部的細節(jié),只需要直接使用即可,但要學(xué)到位,達到真正領(lǐng)會并實現(xiàn)應(yīng)用的水平,了解FILE內(nèi)部詳細內(nèi)容很有必要,該結(jié)構(gòu)體定義在stdio.h頭文件中,代碼內(nèi)容如下:

Typedef struct {

char *_ptr; //文件輸入的下一個位置

int _cnt; //當(dāng)前緩沖區(qū)的相對位置

char*_base; //指文件的起始位置

int _flag; //文件標(biāo)志

int _file; //文件的有效性驗證

int _charbuf; //檢查緩沖區(qū)狀況,如果無緩沖區(qū)則不讀取

char *_tmpfname; //臨時文件名

int _fd;//文件號

int _cleft;//緩沖區(qū)中剩下的字符數(shù)

int _mode;//文件的操作方式

char *_next;//文件當(dāng)前讀寫位置

chanr *_buff;//文件緩沖區(qū)位置

}; FILE;

其中文件號、操作方式、文件當(dāng)前位置是文件結(jié)構(gòu)體中最為核心內(nèi)容,理解結(jié)構(gòu)體中的具體內(nèi)容有助于如何更好地靈活讀寫文件。

1.3 定義文件指針

要操作一個文件,必須明確該文件在磁盤中的具體位置和文件名,實際是要確定文件所在磁盤物理地址,定義好文件指針,為之后正常讀寫文件打下基礎(chǔ),具體在代碼中的表達方式為:“FILE *wj;”。其中“wj”是類型為FILE的文件指針變量,“*”一定不能省略,以后就用“wj”來代替文件的具體路徑和具體文件,也就是說“wj”就是文件的具體代號,包括文件的具體路徑、文件名等都由它了全權(quán)代表。

1.4 調(diào)用庫函數(shù)關(guān)聯(lián)文件

調(diào)用庫函數(shù)fopen,實現(xiàn)將文件指針wj與要操作的具體文件建立關(guān)聯(lián),具體實現(xiàn)代碼為:wj=fopen(“c:\\file.txt”,“r”);其中fopen函數(shù)需要兩個參數(shù),第一個參數(shù)是包含有具體路徑的文件名,第二個參數(shù)“r”是表示打開文件方式,這里表示是只讀取內(nèi)容。

Fopen函數(shù)的返回值是一個FILE類型的地址,wj與文件關(guān)聯(lián),實際就是將fopen返回的這個地址保存到指針變量wj中,但不只是地址,還有其他相關(guān)文件的重要信息,這也是為什么使用結(jié)構(gòu)體的緣故。

2 調(diào)用庫函數(shù)打開和關(guān)閉文件技術(shù)

通過fopen庫函數(shù)把C語言與磁盤中的文件進行了關(guān)聯(lián),接下來就可以進行后續(xù)的讀寫操作。

2.1 文件的打開

首先要對文件的打開成功與否進行判斷,只有文件打開成功才能進行后續(xù)的讀寫操作,若打開失敗應(yīng)給出一些提示,不能再讀寫文件,這是很有必要的,可能會存在由于磁盤已滿、文件損壞、文件夾不存在等原因而導(dǎo)致打開文件失敗。在系統(tǒng)中,文件打開失敗時fopen的返回值是0或NULL(即返回空指針),如文件打開成功,fopen的返回值為非0,可以通過以下代碼實現(xiàn):

FILE *wj;

Wj=fopen(“c:\\file.txt”,“r”);

If(wj==NULL)

Printf(“文件打開失敗!”);

Else

/*讀寫文件*/

把文件指針wj與具體文件file.txt關(guān)聯(lián)起來,如果fopen函數(shù)的返回值為非0,就可以判斷該文件已成功被打開。

2.2 文件的關(guān)閉

文件指針與文件關(guān)聯(lián),是為了指針代表文件,以便后續(xù)的讀寫操作,需要占用系統(tǒng)資源,不能長期占用,否則可能導(dǎo)致文件信息丟失等情況,因此在程序運行結(jié)束之前,必須讓指針和文件解除關(guān)系以釋放系統(tǒng)資源,這個過程稱為關(guān)閉文件,C語言通過使用fclose庫函數(shù)實現(xiàn)文件的關(guān)閉,具體代碼為:“fclose(wj);”參數(shù)是文件指針變量名。

解除關(guān)聯(lián)后,文件指針wj不再代表文件file.txt,不能再通過wj讀寫該文件,在程序運行過程中,隨時可以用fclose庫函數(shù)關(guān)閉文件,即解除指針與文件的關(guān)聯(lián)關(guān)系,此時可以使用wj關(guān)聯(lián)其他文件。

3 讀寫文件數(shù)據(jù)信息技術(shù)

3.1 用庫函數(shù)fscanf讀取文件數(shù)據(jù)代碼

文件file.txt中有2列數(shù)據(jù),共5行,第1列為序號(int型),第2列為分數(shù)(float型),讀取數(shù)據(jù)代碼如下:

#include

Main()

{FILE *wj;int a,b;float c;

Wj=fopen(“c:\\file.txt”,“r”);

For(a=1;a<6;a++)

{fscanf(wj,“%d %f”,&b,&c);}

Fclose(wj);}

通過編譯,界面會顯示file.txt中的數(shù)據(jù),共5行2列,第1列為序號,第2列為分數(shù)。

3.2 用庫函數(shù)fprintf寫入文件信息代碼

#include

Main()

{FILE *wj;

Wj=fopen(“c:\\file.txt”,“w”);

Fprintf(wj,“good!”);

Fclose(wj);}

通過編譯,位于C盤下file.txt文件被寫入“good!”文本。

通過以上內(nèi)容可以總結(jié)出C語言對文件操作流程為:定義文件指針變量、打開文件、讀寫文件和關(guān)閉文件,分別要用到結(jié)構(gòu)類型FILE、庫函數(shù)fopen和庫函數(shù)fclose,在讀寫是還要使用到fscanf和fprintf庫函數(shù),為C語言學(xué)習(xí)者提供借鑒。

參考文獻

[1]百度百科.

[2]譚浩強.C程序設(shè)計[M].北京清華大學(xué)出版社,1999.

[3]張蕾.基于項目化教學(xué)的“C語言程序設(shè)計”課程改革[J].教改縱橫,2013(02):17.

[4]肖捷.C語言程序設(shè)計實踐教學(xué)方案研究與設(shè)計[J].東莞理工學(xué)院學(xué)報,2012.19(05).

作者簡介

羅慧蘭(1981-),女,廣東省廣州市人。軟件工程碩士,講師。研究方向為計算機軟件、計算機網(wǎng)絡(luò)、電子商務(wù)。

作者單位

廣東生態(tài)工程職業(yè)學(xué)院 廣東省廣州市 510520

猜你喜歡
技術(shù)
探究電力信息和電力通信技術(shù)的融合
紅松嫁接方法和技術(shù)要點探析
淺析無機房電梯相關(guān)技術(shù)要點
遼西干旱山區(qū)山杏育苗及造林技術(shù)分析
大采高綜采工作面初采期間瓦斯綜合治理技術(shù)
電力配電柜的應(yīng)用技術(shù)
有關(guān)計算機網(wǎng)絡(luò)安全問題的分析與探討
淺析建筑物鋼筋砼與砌體結(jié)構(gòu)抗震加固的技術(shù)方法
淺談鋼筋混凝土結(jié)構(gòu)建筑應(yīng)用外包粘鋼加固技術(shù)
探討電力系統(tǒng)中配網(wǎng)自動化技術(shù)
科技視界(2016年21期)2016-10-17 20:00:58
主站蜘蛛池模板: 国产精品jizz在线观看软件| 国产视频你懂得| 国产在线观看一区精品| 婷婷午夜影院| 国产视频自拍一区| 久久国产免费观看| 国产成人综合亚洲欧美在| 精品国产美女福到在线不卡f| 国产导航在线| 免费Aⅴ片在线观看蜜芽Tⅴ | 五月天久久综合| 国产区免费精品视频| 午夜成人在线视频| 亚洲国产高清精品线久久| 国产视频一二三区| 国模沟沟一区二区三区| 日韩色图区| 久久网综合| 国产尤物在线播放| 国产高清不卡| 777国产精品永久免费观看| 久久黄色免费电影| 亚洲精品麻豆| 亚洲欧美激情小说另类| 亚洲国产成人在线| 国产超碰一区二区三区| 真人高潮娇喘嗯啊在线观看| 99精品影院| 国产欧美日韩专区发布| 午夜毛片免费看| 亚洲欧美不卡视频| 国产精品视频a| 在线精品视频成人网| 毛片在线播放a| 欧美成人手机在线观看网址| 97综合久久| 农村乱人伦一区二区| 亚洲欧美在线综合一区二区三区| 亚洲中文字幕在线观看| 久久99国产精品成人欧美| 日韩亚洲综合在线| 亚洲视频a| 国模在线视频一区二区三区| 精品国产www| 国产欧美一区二区三区视频在线观看| 亚洲国产看片基地久久1024| 久久精品视频一| 国产好痛疼轻点好爽的视频| 欧美a在线看| 在线色国产| 成年看免费观看视频拍拍| 在线观看视频99| 综合色区亚洲熟妇在线| 国产精品第页| 国产精品永久在线| 特级欧美视频aaaaaa| 亚洲综合九九| 国产精品xxx| 国产视频 第一页| 天堂成人av| 中国毛片网| 超薄丝袜足j国产在线视频| 国产对白刺激真实精品91| 久久久国产精品无码专区| 欧美一级色视频| 亚洲91精品视频| 国产一级片网址| 免费国产小视频在线观看| 国产精品精品视频| 国产黄网永久免费| 99re66精品视频在线观看| 伊人久久大香线蕉影院| 色网站在线免费观看| 最新国产在线| 香蕉久久国产超碰青草| 欧美在线视频不卡| 午夜毛片免费观看视频 | 午夜国产大片免费观看| 午夜不卡视频| 国产迷奸在线看| 亚洲娇小与黑人巨大交| 国产在线观看成人91|