pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

一篇文章帶你了解C語言文件操作中的幾個函數(shù)

這篇文章主要介紹了使用C語言操作文件的基本函數(shù)整理,包括創(chuàng)建和打開以及關(guān)閉文件的操作方法,需要的朋友可以參考下,希望能夠給你帶來幫助

fopen:有兩個參數(shù),第一個是要被打開或者被創(chuàng)建的文件名,第二個是以什么方式打開。這兩個參數(shù)要分別用雙引號括起來

打開文件和關(guān)閉文件的基本流程,關(guān)閉文件之后要置空

fwrite:有四個參數(shù),第一個是指向要被寫入的數(shù)據(jù)的指針,這里是a的地址;第二個參數(shù)是被寫入項(xiàng)的大小,單位是字節(jié),這里是a的大小;第三個參數(shù)是要被寫入的項(xiàng)的個數(shù),這里是1,意思是寫入一個a;最后一項(xiàng)是FILE結(jié)構(gòu)的指針,這里是pf。這四個參數(shù)不需要雙引號。

文件指針:、

每個被使用的文件都在內(nèi)存中開辟了一個相應(yīng)的文件信息區(qū),用來存放文件的相關(guān)信息(比如文件的名字、文件狀態(tài)以及文件當(dāng)前的位置等)。這些信息都是保存在一個結(jié)構(gòu)體變量中的,該結(jié)構(gòu)體類型是有系統(tǒng)聲明的,取名FILE。

不同的編譯器FILE類型包含的內(nèi)容并不完全相同,但是都大同小異。每當(dāng)打開一個文件的時候,系統(tǒng)都會根據(jù)文件的情況自動創(chuàng)建一個FILE結(jié)構(gòu)的變量,并填充其中的信息,使用者并不用關(guān)心細(xì)節(jié)。一般都是通過一個FILE結(jié)構(gòu)體的指針(pf)來維護(hù)這個FILE結(jié)構(gòu)的變量,這樣使用起來更加方便。

fgetc:只有一個參數(shù),是FILE結(jié)構(gòu)的指針,每次從該指針指向的數(shù)據(jù)中讀取一個字符

fputc:有兩個參數(shù),第一個是要被寫入的字符,用單引號括起來,第二個是FILE類型的指針,這里是pfWrite

fgets:用于讀取字符串,有三個參數(shù),第一個是讀取的數(shù)據(jù)要存放的位置(數(shù)組),第二個是可以讀取的最大字符數(shù),第三個是FILE結(jié)構(gòu)的指針,這里是標(biāo)準(zhǔn)輸入流(鍵盤)下圖中是從鍵盤輸入,再輸出到屏幕

fputs:用于輸出字符串,如果成功,函數(shù)會返回一個非負(fù)值,有兩個參數(shù),第一個是要被輸出字符串?dāng)?shù)組,第二個是FILE結(jié)構(gòu)的指針,這里是標(biāo)準(zhǔn)輸出流(屏幕)

gets:如果成功,函數(shù)會返回其參數(shù),只有一個參數(shù),即輸入字符串的存儲位置---buffer緩沖區(qū)

puts:如果成功,函數(shù)返回一個非負(fù)值,只有一個參數(shù),即輸出字符串所在的數(shù)組的地址

下圖這兩組函數(shù)的功能一樣,程序運(yùn)行后,在鍵盤上輸入什么字符或字符串,按下回車后,就會在屏幕上打印什么字符或字符串

fprintf:格式化的寫(輸出)數(shù)據(jù)--這里是寫進(jìn)去一個結(jié)構(gòu)體,直接打印出來,該函數(shù)有三個參數(shù),第一個是指向FILE結(jié)構(gòu)體的指針(pf),意思是將數(shù)據(jù)寫到pf所指向的結(jié)構(gòu)體當(dāng)中,第二個是格式,要輸出的數(shù)據(jù)的格式,要和后面的數(shù)據(jù)一一對應(yīng),第三個參數(shù)是要被輸出的數(shù)據(jù)(可以是結(jié)構(gòu)體,如下圖)

fscanf:格式化的輸入數(shù)據(jù),有三個參數(shù),第一個是指向FILE結(jié)構(gòu)體的指針(pf),第二個是 格式,第三個是要被寫入的數(shù)據(jù)的地址,這里在注意是地址,經(jīng)常出錯,類比scanf,只比scanf多了第一個參數(shù)

sprintf:格式化的輸入,有三個參數(shù),第一個參數(shù)是要被寫入內(nèi)容的數(shù)組地址,第二個是格式,第三個是要被寫入的數(shù)據(jù)---主義的是,下圖中,sprintf函數(shù)是給字符數(shù)組char buf[]寫入結(jié)構(gòu)體數(shù)據(jù),結(jié)構(gòu)體中有不同的格式,這里需要注意輸入信息的時候是按照%d%f%s對應(yīng)的格式輸入的,也就是結(jié)構(gòu)體成員對應(yīng)的格式,輸入到數(shù)組buf中后才將格式都轉(zhuǎn)換為字符,這里打印出來的100;3.140000也都是字符型

sscanf是格式化的讀取函數(shù),這里是將剛才上圖寫入到數(shù)組buf中的數(shù)據(jù)讀取到結(jié)構(gòu)體變量tmp當(dāng)中,讀入時會按照結(jié)構(gòu)體成員對應(yīng)的格式將字符數(shù)組char buf中的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,再存儲到結(jié)構(gòu)體變量tmp中。

sscanf依然是三個參數(shù),第一個是被讀數(shù)組地址,第二個是被寫入數(shù)據(jù)的結(jié)構(gòu)體成員的對應(yīng)格式,第三個是結(jié)構(gòu)體成員對應(yīng)的地址,這里要取地址,切記

下面的知識點(diǎn)面試可能會用到,務(wù)必搞懂

scanf和printf是針對標(biāo)準(zhǔn)輸入流(鍵盤)/標(biāo)準(zhǔn)輸出流(屏幕)的格式化輸入/輸出語句。

fscanf和fprintf是針對所有輸入流/標(biāo)準(zhǔn)輸出流的格式化輸入/輸出語句。

sscanf和sprintf是:ssacnf是從字符串中讀取格式化的數(shù)據(jù),sprintf是把格式化數(shù)據(jù)輸出成(存儲到)字符串中。

fseek:有三個參數(shù),第一個是指向FILE結(jié)構(gòu)體的指針pf,第二個是偏移量(可正可負(fù)),第三個是文件指針的當(dāng)前位置(SEEK_CUR文件指針的當(dāng)前位置\SEEK_END文件的末尾位置\SEEK_SET文件的起始位置)

perror報錯函數(shù),不需要單獨(dú)引頭文件,不需要寫參數(shù),perror(“hehe”);這個表達(dá)式會先打印hehe: 再報出錯誤原因,它會自行判斷錯誤原因并打印,用起來很方便

strerror也是報錯函數(shù),使用:strerror(errno);,使用時需要引頭文件#include<string.h>

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注html5模板網(wǎng)的更多內(nèi)容!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

主站蜘蛛池模板: C形臂_动态平板DR_动态平板胃肠机生产厂家制造商-普爱医疗 | 广东泵阀展|阀门展-广东国际泵管阀展览会 | 震动筛选机|震动分筛机|筛粉机|振筛机|振荡筛-振动筛分设备专业生产厂家高服机械 | led太阳能路灯厂家价格_风光互补庭院灯_农村市政工程路灯-中山华可路灯品牌 | 断桥铝破碎机_铝合金破碎机_废铁金属破碎机-河南鑫世昌机械制造有限公司 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 火锅加盟_四川成都火锅店加盟_中国火锅连锁品牌十强_朝天门火锅【官网】 | 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 京港视通报道-质量走进大江南北-京港视通传媒[北京]有限公司 | 开云(中国)Kaiyun·官方网站 - 登录入口 | 铝单板_铝窗花_铝单板厂家_氟碳包柱铝单板批发价格-佛山科阳金属 | 家德利门业,家居安全门,别墅大门 - 安徽家德利门业有限公司 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 盘古网络技术有限公司 | 开业庆典_舞龙舞狮_乔迁奠基仪式_开工仪式-神挚龙狮鼓乐文化传媒 | 北京四合院出租,北京四合院出售,北京平房买卖 - 顺益兴四合院 | 深圳货架厂家_金丽声精品货架_广东金丽声展示设备有限公司官网 | 液压压力机,液压折弯机,液压剪板机,模锻液压机-鲁南新力机床有限公司 | CE认证_FCC认证_CCC认证_MFI认证_UN38.3认证-微测检测 CNAS实验室 | 多功能干燥机,过滤洗涤干燥三合一设备-无锡市张华医药设备有限公司 | 全国国际化学校_国际高中招生_一站式升学择校服务-国际学校网 | 地埋式垃圾站厂家【佳星环保】小区压缩垃圾中转站转运站 | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | HDPE土工膜,复合土工膜,防渗膜价格,土工膜厂家-山东新路通工程材料有限公司 | 模温机-油温机-电加热导热油炉-工业冷水机「欧诺智能」 | 上海小程序开发-小程序制作-上海小程序定制开发公司-微信商城小程序-上海咏熠 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 上海赞永| 电解抛光加工_不锈钢电解抛光_常州安谱金属制品有限公司 | 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | 缠膜机|缠绕包装机|无纺布包装机-济南达伦特机械设备有限公司 | 过滤器_自清洗过滤器_气体过滤器_苏州华凯过滤技术有限公司 | 变压器配件,变压器吸湿器,武强县吉口变压器配件有限公司 | 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 空心明胶胶囊|植物胶囊|清真胶囊|浙江绿键胶囊有限公司欢迎您! | 变频器维修公司_plc维修_伺服驱动器维修_工控机维修 - 夫唯科技 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 |