C語(yǔ)言輸入輸出函數(shù)有很多,標(biāo)準(zhǔn)I/O函數(shù)中包含了如下幾個(gè)常用的函數(shù):
成都創(chuàng)新互聯(lián)專注于寧波企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站定制開發(fā)。寧波網(wǎng)站建設(shè)公司,為寧波等地區(qū)提供建站服務(wù)。全流程定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
getc(FILE
*fp)
getc主要是從文件中讀出一個(gè)字符.常用的判斷文件是否讀取結(jié)束的語(yǔ)句為
(ch
=
getc(fp))
!=
EOF.EOF為文件結(jié)束標(biāo)志,定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當(dāng)fp為stdin時(shí),getc(stdin)就等同于getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字符ch寫到文件fp中去.如果fp為stdout,則putc就等同于putchar()了.
int
getchar(void)
getchar主要是從標(biāo)準(zhǔn)輸入流讀取一個(gè)字符.默認(rèn)的標(biāo)準(zhǔn)輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字符時(shí)又涉及到緩沖的問題,所以并不是在屏幕中敲上一個(gè)字符程序就會(huì)運(yùn)行,一般是通過在屏幕上敲上回車鍵,然后將回車前的字符串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個(gè)一個(gè)的讀字符.當(dāng)然也可以在while循環(huán)中指定終止字符,如下面的語(yǔ)句:while
((c
=
getchar())
!=
'#')這是以#來結(jié)束的.
int
putchar(int
ch)
putchar(ch)主要是把字符ch寫到標(biāo)準(zhǔn)流stdout中去.
char
*
gets(char
*str)
gets主要是從標(biāo)準(zhǔn)輸入流讀取字符串并回顯,讀到換行符時(shí)退出,并會(huì)將換行符省去.
int
puts(char
*str)
puts主要是把字符串str寫到標(biāo)準(zhǔn)流stdout中去,并會(huì)在輸出到最后時(shí)添加一個(gè)換行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放讀入的字符數(shù)組指針,num是最大允許的讀入字符數(shù),fp是文件指針.fgets的功能是讀一行字符,該行的字符數(shù)不大于num-1.因?yàn)閒gets函數(shù)會(huì)在末尾加上一個(gè)空字符以構(gòu)成一個(gè)字符串.另外fgets在讀取到換行符后不會(huì)將其省略.
int
fputs(char
*str,
file
*fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在打印時(shí)并不添加換行符.
int
fgetc(FILE
*fp)
fgetc從fp的當(dāng)前位置讀取一個(gè)字符.
int
fputc(int
ch,
file
*fp)
fputc是將ch寫入fp當(dāng)前指定位置.
int
fscanf(FILE
*fp,
char
*format,
輸入列表)
fscanf按照指定格式從文件中出讀出數(shù)據(jù),并賦值到參數(shù)列表中.
int
fprintf(FILE
*fp,
char
*format,
輸出列表)
fprintf將格式化數(shù)據(jù)寫入流式文件中.
數(shù)據(jù)塊讀寫函數(shù)
fread
(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
參數(shù)說明:
buffer:是一個(gè)指針。
對(duì)fread
來說,它是讀入數(shù)據(jù)的存放地址。
對(duì)fwrite來說,是要輸出數(shù)據(jù)的地址(均指起始地址)。
size:
要讀寫的字節(jié)數(shù)。
count:
要進(jìn)行讀寫多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng)。
fp:
文件型指針。
feof是C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù),其原型在stdio.h中,其功能是檢測(cè)流上的文件結(jié)束符,如果文件結(jié)束,則返回非0值,否則返回0(即,文件結(jié)束:返回非0值,文件未結(jié)束,返回0值),文件結(jié)束符只能被clearerr()清除。(這里的檢測(cè)流上的文件結(jié)束符就相當(dāng)于聲卡檢測(cè)電流信號(hào)的一個(gè)過程)
int feof(FILE *stream);
參數(shù)
流 :FILE結(jié)構(gòu)的指針
注意:feof判斷文件結(jié)束是通過讀取函數(shù)fread/fscanf等返回錯(cuò)誤來識(shí)別的,故而判斷文件是否結(jié)束應(yīng)該是在讀取函數(shù)之后進(jìn)行判斷。比如,在while循環(huán)讀取一個(gè)文件時(shí),如果是在讀取函數(shù)之前進(jìn)行判斷,則如果文件最后一行是空白行,可能會(huì)造成內(nèi)存錯(cuò)誤。
擴(kuò)展資料
相關(guān)函數(shù)
getc()
功能:函數(shù)從流中返回一個(gè)字符值。
語(yǔ)法:int getc(FILE * stream)
返回值:整數(shù)值。
函數(shù)種類:“stdio.h”
內(nèi)容說明:此函數(shù)和fgetc函數(shù)相似,但它是以一個(gè)宏來實(shí)現(xiàn)的。另外它將不止一次地計(jì)算流參數(shù)咖,這對(duì)通常的宏的規(guī)則來說是一個(gè)例外。getc是一個(gè)已經(jīng)高度優(yōu)化的函數(shù),所以該函數(shù)是進(jìn)行單個(gè)字符讀操作的最好的函數(shù)。
參考:如fputc();fgetc();putc();fopen()。
fputs()
功能:將字符串中的內(nèi)容寫到指定的流中。
語(yǔ)法: int fputs(const char *s,F(xiàn)ILE * stream)
返回值:整數(shù)值。
函數(shù)種類:“stdio.h”
內(nèi)容說明:函數(shù)將字符串指針s所指向的字符串中的內(nèi)容寫到流stream中。標(biāo)志結(jié)束的空字符(NULL)不寫。函數(shù)也不另外增加一個(gè)換行符。只是輸出字符串中的所有字符。 函數(shù)操作成功時(shí)返回值為0,否則返回非0值。
如果流是以文本形式打開的,就會(huì)對(duì)有些字符進(jìn)行翻譯操作。這意味著字符串可能會(huì)與文件內(nèi)容之間沒有一一對(duì)應(yīng)的映射關(guān)系。然而,當(dāng)文件以二進(jìn)制打開時(shí),不發(fā)生字符翻譯,在字符串與文件內(nèi)容之間存在一一對(duì)應(yīng)的映射關(guān)系。
參考資料來源:百度百科-fgetc
參考資料來源:百度百科-feof
函數(shù)原型就是函數(shù)本身定義的形式。
函數(shù)的格式為:
return_type func_name(arg_list);
所以函數(shù)的原型,就是根據(jù)函數(shù)名查找到的定義或者聲明的形式,通過原型可以確認(rèn)函數(shù)的返回值類型(return_type),以及需要多少個(gè)參數(shù),每個(gè)參數(shù)的類型是什么(arg_list)。
這樣才能夠確定,如何調(diào)用函數(shù)才是正確的。
函數(shù)原型在你包含的頭文件里面,實(shí)現(xiàn)在C語(yǔ)言安裝目錄的./libs/目錄里面。
比如:
#include?stdio.h
//printf()??的函數(shù)原型在語(yǔ)言安裝目錄的./include目錄下的stdio.h文件里面。
網(wǎng)頁(yè)名稱:c語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)原型 c語(yǔ)言 函數(shù)原型
鏈接分享:http://jinyejixie.com/article18/dodhigp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、企業(yè)建站、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、ChatGPT、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容