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

“文件”的趣味學習法探究

2015-11-18 02:02:36程振
亞太教育 2015年35期
關鍵詞:趣味

程振

?

“文件”的趣味學習法探究

程振

摘要:在學習計算機C語言的過程中,經常會使用到C語言中的讀寫文件,在C語言中,眾多文件在操作的過程中都是通過庫函數來實現的,這里的庫函數主要分為讀和寫兩種操作。但是,用函數來操作“文件”可能會略顯枯燥,所以,在學習C語言的過程中,應當掌握趣味學習“文件”,各種函數在趣味的性質下也顯得不再乏味。本文對一些有關文件操作的函數使用及對比做出了一定闡述。

關鍵詞:趣味;C語言;文件

C語言中所有文件操作函數主要有fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等,雖然看上去略顯復雜,但只有充滿學習的動力就能將其很好的掌握,下面我們就來趣味解讀以下這些函數。

一、流式文件操作

上述的幾種函數基本上都是流式的文件操作,流式文件中構成文件的最基本的單位是字符,流式文件也就是有序字符的集合,它的長度正是這個文件中所有的字符的個數,所以,流式文件又叫做字符流文件。流式文件沒有具體的結構,并且管理起來也比較簡單,下面我們就介紹幾個流式文件:

1.fopen(打開文件)與該打開文件fopen相關的函數就是open,fclose,它的表頭文件是#include,其中的定義函數為FILE * fopen(const char * path,const char * mode),每一個函數都需要一個函數說明,該打開文件的參數path字符串包含即將要打開的文件路徑和它相應的文件名,參數mode字符串就是所代表的流形態。其中mode的文件打開方式有以下幾種:r(read);w(write);a(append);t(text);b(banary);+。他們的意思依次是讀、寫、追加、文本文件、二進制文件、讀和寫。在打開文件的時候,如果文件能夠很順利的打開,則會返回到該流的相應文件指針,如果文件無法打開則會返回到NULL,這里就會存在一個錯誤代碼errno。

2.fread和fwrite函數。這兩個函數可以對數據進行塊的操作,fread函數的一般調用形式是(buffer,size,count,fp);而fwrite函數的一般調用形式是(buffer,size,count,fp)。下面我們就對這兩個調用形式里的調用因素進行解釋說明:

(1)buffer。Buffer是指針的意思,在fread函數中,buffer是它在載入數據的時候能夠存放數據的地方,然而對于fwrite來講,則只是輸出數據的地址。(2)size。它所代表的是應當讀寫的字節數目。

(3)count。這是相對于size而言的,應當讀寫多少個size字節的數據項。

(4)fp。意義很簡單,記住,它是文件型指針。

在C語言中,還相應提供了一整塊數據的讀寫函數,也就是可以用來讀寫出一整組的數據。比如一個數組元素和一個結構變量的值等。再例如fread(fa,4,5,fp);它所表達的意思是從fp所代表的文件中,每一次讀取4個字節送入到fa實數組中去,并連續讀取5次,也就是這5個實數都被讀取到fa中。

3.fgetc和fputc。這兩個函數是字符讀寫函數,fgetc函數(getc函數)的一般調用形式是ch=fgetc(fp),它們的用途可謂是十分重要,因為我們操作文件的主要目的就是為了讀取文件,它的作用就是從指定的文件中讀入一個字符,也就是從fp所指的文件中能夠讀出一個字符并賦給ch;在返回值的過程中,如果成功的話就能夠返回到所得到的字符上去,如果失敗的話則返回EOF(-1)。fputc函數的一般調用形式是fputc(ch,fp);它的作用不同于fgetc函數,它的作用是將一個字符寫到磁盤上的文件中去,也就是能夠將這其中的ch輸出到fp所指的文件中去;在返回值方面,如果成功的話就輸出相應的字符,如果失敗的話就返回EOF(-1)。上述函數就是我所選取的流式文件中的幾種,下面我們來對直接I/O文件操作進行一些闡述。

二、直接I/O文件操作

直接I/O文件操作是C語言中的另一種文件的操作模式,它和流式文件有很大的不同,它是通過直接存取文件來完成對文件的處理的,然而我們上述的流式文件操作則是通過緩沖區的特征來進行的。下面,我們就對直接I/O文件操作中的一些函數進行闡述,找一找它與流式文件的相同點和不同點:

1.open函數。在打開文件的同時讓它返回到相應的句柄中,假如失敗的話,隨后就要返回小于零的數值,它的原型是int open(const char *path,int access[,unsigned mode]);這里面所涉及到的參數path就是將要打開的一個文件名,access就是其中所要打開的模式,mode是可選擇的項目。該函數主要用于表示文件的屬性是什么,在UNIX系統中比較常用,但是在DOS/WINDOWS這個參數中也并沒有什么具體的意義。例如,int handle=open(“c:msdos.sys”,O_BINARY|O_CREAT|O_ WRITE)。

2.close函數。看到英文,想必大家都很熟悉,是“關閉”的意思,該函數代表關閉一個句柄,它的原型是int close(int handle)。假如在返回的過程中成功,就把相應的數值返回到0.比如:close(handle)。

3.Iseek函數。這個函數所代表的意思就是將文件定位到指定的位置,它的原型是long lseek(int handle,long offset,int fromwhere);其中的參數offset是移動的量的多少,fromwhere則是移動的位置變化是怎么樣的,在這個函數中要注意SEEK_CUR代表文件當前的位置,SEEK_END代表文件的末尾。舉一個簡單的例子:lseek(handle,-1234L,SEEK_CUR);//它的意思就是將存取的位置從現在的位置向前面移動1234個字節。x=lseek(hnd1,0L,SEEK_END);//的意思是將存取的位置移動到文件的最尾端,這里的x=文件尾的位置就是文件的長度。

三、結語

如果在學習C語言文件操作過程中很熟悉匯編過程的話會發現文件操作形式萬變不離其宗,直接I/O文件操作和流式文件的操作大體相同,也提供了相應的Unicode字符操作函數,比如_wopen等。這些操作中BCB可以幫助我們很多操作。C語言中的編程是計算機中相對比較復雜的東西,很多初學者也因此而很頭痛,但是只要找到這其中的奧妙,就會找到文件操作的趣味性。任何學習都需要興趣指引。

參考文獻:

[1]張荷花.ATLAS常規語言部分到C語言的轉換[D].吉林大學.2004.

[2]劉沖.張瑋瑋.C語言中文件操作中讀寫數據函數的應用[J].黑龍江科技信息.2015,20:163-164

[3]李躍.嵌入式實時操作系統設計方法研究[D].西南交通大學.2006.

(作者單位:江蘇省宿城中等專業學校)

猜你喜歡
趣味
趣味冷知識
趣味冷知識
趣味冷知識
趣味冷知識
趣味連連連
趣味閱兵
午睡的趣味
特別文摘(2016年24期)2016-12-29 21:03:08
妙趣橫生的趣味創意
趣味型男
讓你HOLD不住的趣味創意
主站蜘蛛池模板: 欧美乱妇高清无乱码免费| 亚洲国产欧美国产综合久久| 女同国产精品一区二区| 久久精品国产亚洲AV忘忧草18| 又大又硬又爽免费视频| 色亚洲成人| 欧美一级高清视频在线播放| 亚洲va视频| 性色在线视频精品| 亚洲综合色婷婷| 亚洲系列无码专区偷窥无码| 茄子视频毛片免费观看| 婷婷亚洲最大| 日韩精品一区二区三区大桥未久 | 国产在线高清一级毛片| 成人综合在线观看| 国产精品v欧美| 亚洲av中文无码乱人伦在线r| 欧美福利在线观看| 91小视频在线观看| 爆乳熟妇一区二区三区| 日韩欧美综合在线制服| 亚洲一道AV无码午夜福利| 91在线精品麻豆欧美在线| 91美女在线| 国产男女XX00免费观看| 国产精欧美一区二区三区| 超薄丝袜足j国产在线视频| 最新国语自产精品视频在| 日韩在线视频网站| 少妇高潮惨叫久久久久久| 国产91九色在线播放| 欧美色视频网站| 在线视频97| 欧美成人二区| 欧美高清三区| 波多野结衣久久高清免费| 在线欧美国产| 一本大道香蕉高清久久| 亚洲国产欧美国产综合久久| 手机永久AV在线播放| 亚洲精品久综合蜜| 午夜爽爽视频| 九九久久99精品| 日本日韩欧美| 77777亚洲午夜久久多人| 国产亚洲美日韩AV中文字幕无码成人| 国产在线观看91精品亚瑟| 欧美日本在线| 久久综合丝袜长腿丝袜| 在线欧美a| 国产va视频| 国产精品黑色丝袜的老师| 五月六月伊人狠狠丁香网| AV色爱天堂网| 91免费国产在线观看尤物| 亚洲婷婷丁香| 日韩高清在线观看不卡一区二区| 午夜免费小视频| 日本不卡视频在线| 欧美成人一级| 日本一区中文字幕最新在线| 毛片基地视频| 91精品国产情侣高潮露脸| 亚洲综合第一区| 国产农村妇女精品一二区| 亚洲毛片在线看| 亚洲无码日韩一区| 国产免费自拍视频| 全部毛片免费看| 无码人中文字幕| 夜精品a一区二区三区| 这里只有精品免费视频| 99这里只有精品在线| 国产内射在线观看| 香蕉在线视频网站| 亚洲精品免费网站| 国产激爽爽爽大片在线观看| 视频一本大道香蕉久在线播放| 欧美成人h精品网站| 亚洲人成人无码www| 亚洲综合色区在线播放2019|