久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

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

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

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

打開文件和關閉文件的基本流程,關閉文件之后要置空

fwrite:有四個參數,第一個是指向要被寫入的數據的指針,這里是a的地址;第二個參數是被寫入項的大小,單位是字節,這里是a的大小;第三個參數是要被寫入的項的個數,這里是1,意思是寫入一個a;最后一項是FILE結構的指針,這里是pf。這四個參數不需要雙引號。

文件指針:、

每個被使用的文件都在內存中開辟了一個相應的文件信息區,用來存放文件的相關信息(比如文件的名字、文件狀態以及文件當前的位置等)。這些信息都是保存在一個結構體變量中的,該結構體類型是有系統聲明的,取名FILE。

不同的編譯器FILE類型包含的內容并不完全相同,但是都大同小異。每當打開一個文件的時候,系統都會根據文件的情況自動創建一個FILE結構的變量,并填充其中的信息,使用者并不用關心細節。一般都是通過一個FILE結構體的指針(pf)來維護這個FILE結構的變量,這樣使用起來更加方便。

fgetc:只有一個參數,是FILE結構的指針,每次從該指針指向的數據中讀取一個字符

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

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

fputs:用于輸出字符串,如果成功,函數會返回一個非負值,有兩個參數,第一個是要被輸出字符串數組,第二個是FILE結構的指針,這里是標準輸出流(屏幕)

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

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

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

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

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

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

sscanf是格式化的讀取函數,這里是將剛才上圖寫入到數組buf中的數據讀取到結構體變量tmp當中,讀入時會按照結構體成員對應的格式將字符數組char buf中的數據進行轉換,再存儲到結構體變量tmp中。

sscanf依然是三個參數,第一個是被讀數組地址,第二個是被寫入數據的結構體成員的對應格式,第三個是結構體成員對應的地址,這里要取地址,切記

下面的知識點面試可能會用到,務必搞懂

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

fscanf和fprintf是針對所有輸入流/標準輸出流的格式化輸入/輸出語句。

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

fseek:有三個參數,第一個是指向FILE結構體的指針pf,第二個是偏移量(可正可負),第三個是文件指針的當前位置(SEEK_CUR文件指針的當前位置\SEEK_END文件的末尾位置\SEEK_SET文件的起始位置)

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

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

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注html5模板網的更多內容!

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

相關文檔推薦

主站蜘蛛池模板: 国产一二三视频在线观看 | 国产一级片av | 日本午夜免费福利视频 | 五月婷婷激情网 | 成人做爰www免费看视频网站 | 亚洲国产在 | 日韩精品视频在线播放 | 久久久夜夜夜 | 美女毛片免费看 | 精品国产乱码久久久久久闺蜜 | 国产精品嫩草影院精东 | 99精品国产一区二区三区 | 久草网站| 国外成人在线视频网站 | 欧美另类视频在线 | 成年人黄色一级片 | 九九亚洲 | 久久久久久久久综合 | 亚洲一区二区三区欧美 | 国产视频一区二区 | 久久精品免费 | 粉嫩一区二区三区性色av | 国产一级视频 | 久久久久一区 | 日本视频免费观看 | 日韩精品中文字幕一区二区三区 | 中国一级特黄视频 | 99精品免费久久久久久久久日本 | www.天天操.com | 久久精品小视频 | 欧美乱大交xxxxx另类电影 | 精品无码久久久久久国产 | caoporn免费在线视频 | 国产精品呻吟久久av凹凸 | 日本一本在线 | 国产成人免费视频网站视频社区 | 久久99网站| 国产自产c区 | 日韩三级免费观看 | 精品视频一区二区 | 91在线精品视频 |