日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

《c语言从入门到精通》看书笔记——第14章 文件

發(fā)布時(shí)間:2023/12/19 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《c语言从入门到精通》看书笔记——第14章 文件 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、文件的基本操作 (1)文件指針 文件指針是指向文件有關(guān)信息的指針,這些信息包含文件名,狀態(tài),和當(dāng)前位置,他們保存在一個(gè)結(jié)構(gòu)體變量中。在使用文件時(shí)需要在內(nèi)存中為其分配空間,用以存放文件的基本信息。該文件是由系統(tǒng)定義的,C語(yǔ)言規(guī)定該類型為FILE型,聲明如下: typedef struct { short level; unsigned flags; char fd; unsigned char hold; short bsize; unsigned char *buffer; unsigned ar *curp; unsigned istemp; short token; }FILE; 在編寫(xiě)程序時(shí)可以直接定義上面的FILE類型來(lái)定義變量,但不必全部寫(xiě)出結(jié)構(gòu)中的內(nèi)容,只需要寫(xiě)成: FILE *fp; fp是一個(gè)指向FILE類型的指針變量。 (2)文件的打開(kāi) fopen函數(shù)用以打開(kāi)一個(gè)文件,打開(kāi)文件的操作就是創(chuàng)建一個(gè)流。fopen函數(shù)原型在stdio.h中,調(diào)用形式如下: FILE *fp; ? ? ? ? ? fp=fopen(文件名,使用文件方式); fopen函數(shù)打開(kāi)文件成功,則返回一個(gè)有確定指向的FILE類型指針;若打開(kāi)失敗,則返回NULL。 (3)文件的關(guān)閉 fcose函數(shù)用以關(guān)閉文件,原型在stdio.h中,調(diào)用的一般形式為: fclose(文件指針); 例如:fclose(fp); fclose函數(shù)帶回一個(gè)返回值,當(dāng)正常完成關(guān)閉文件操作時(shí),fclose函數(shù)返回一個(gè)0,否則返回EOF。 2、文件的讀寫(xiě) (1)fputc函數(shù) ch=fputc(ch,fp); 該函數(shù)的作用是把一個(gè)字符寫(xiě)到磁盤(pán)文件(fp所指向的文件)中去。其中ch是要輸出的字符,它可以是字符常量也可以是字符變量。fp是文件指針變量。如果輸出成功,則返回值就是輸出的字符,否則返回EOF。 (2)fgetc函數(shù) ch=fgetc(fp); 該函數(shù)的作用是從指定的文件(fp指向的文件)讀入一個(gè)字符賦給ch。需要注意的是,該文件必須是以讀或讀寫(xiě)的方式打開(kāi)。當(dāng)文件遇到文件結(jié)束符時(shí)將返回結(jié)束標(biāo)志EOF。 (3)fputs函數(shù) fputs(字符串,文件指針) 該函數(shù)的作用是向指定的文件寫(xiě)入一個(gè)字符串,其中字符串可以使字符串常量,也可以是字符數(shù)組名、指針或變量。 (4)fgets函數(shù) fgets(字符數(shù)組名,n,文件指針); 該函數(shù)的作用是從指定的文件中讀一個(gè)字符串到字符數(shù)組中。n表示所得到的字符串中字符的個(gè)數(shù)(包含“\0”)。 (5)fprintf函數(shù):讀磁盤(pán)文件 ch=fprintf(文件類型指針,格式字符串,輸出列表); 例如:fprintf(fp,"%d",i); 他的作用是將整型變量i的值以“%d”的格式輸出到fp指定的文件中。 (6)fscanf函數(shù):寫(xiě)入磁盤(pán)文件 fscanf(文件類型指針,格式字符串,輸入列表); 例如:fscanf(fp,"%d",&i); 他的作用是讀入fp所指向的文件中的i的值。 (7)fread和fwrite函數(shù):整塊讀寫(xiě) fread(buffer,size,count,fp); 該函數(shù)的作用是從fp所指的文件黃總讀入count次,每次讀size字節(jié),如如的信息存入buffer地址中。 fwrite(buffer,size,count,fp); 該函數(shù)的作用是將buffer地址開(kāi)始的信息輸出count次,每次寫(xiě)size字節(jié)DOAfp指定的文件中。 3、文件的定位 (1)fseek函數(shù) 借助緩沖型I/O系統(tǒng)中的fseek函數(shù)可以完成隨機(jī)讀寫(xiě)操作 fseek(文件類型指針,位移量,起始點(diǎn)); 該函數(shù)的作用是移動(dòng)文件內(nèi)部位置指針。其中,“文件類型指針”指向被移動(dòng)的文件;“位移量”表示移動(dòng)的字節(jié)數(shù),要求位移量是long型數(shù)據(jù),以便在文件長(zhǎng)度大于64kb時(shí)不會(huì)出錯(cuò)。“起始點(diǎn)”有三種。如下: 起始點(diǎn)
起始點(diǎn) 表示符號(hào) 數(shù)字表示
文件首 SEEK - SET 0
文件當(dāng)前位置 SEEK - CUR 1
文件末尾 SEEK - END 2
例如:fseek(fp,-20L,1); (2)rewind函數(shù) int rewind(文件類型指針) 該函數(shù)的作用是使位置指針重新返回文件的開(kāi)頭,該函數(shù)沒(méi)有返回值。 (3)ftell函數(shù) long ftell(文件類型指針) 該函數(shù)的作用是得到流式文件中的當(dāng)前位置,用相對(duì)于文件開(kāi)頭的位移量來(lái)表示。當(dāng)返回值是-1L時(shí),表示出錯(cuò)。

總結(jié)

以上是生活随笔為你收集整理的《c语言从入门到精通》看书笔记——第14章 文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。