庫(kù)函數(shù):顧名思義是把函數(shù)放到庫(kù)里..是別人把一些常用到的函數(shù)編完放到一個(gè)文件里,供別人用.別人用的時(shí)候把它所在的文件名用#include加到里面就可以了.一般是放到lib文件里的。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的新鄉(xiāng)縣網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
一般是指編譯器提供的可在c源程序中調(diào)用的函數(shù)??煞譃閮深愐活愂莄語(yǔ)言標(biāo)準(zhǔn)規(guī)定的庫(kù)函數(shù)一類是編譯器特定的庫(kù)函數(shù)。
由于版權(quán)原因庫(kù)函數(shù)的源代碼一般是不可見的但在頭文件中你可以看到它對(duì)外的接口。什么是庫(kù)函數(shù)語(yǔ)言的語(yǔ)句十分簡(jiǎn)單如果要使用語(yǔ)言的語(yǔ)句直接計(jì)算sin或cos函數(shù)就需要編寫頗為復(fù)雜的程序。因?yàn)檎Z(yǔ)言的語(yǔ)句中沒(méi)有提供直接計(jì)算sin或cos函數(shù)的語(yǔ)句。又如為了顯示一段文字我們?cè)谡Z(yǔ)言中也找不到顯示語(yǔ)句只能使用庫(kù)函數(shù)printf。
語(yǔ)言的庫(kù)函數(shù)并不是語(yǔ)言本身的一部分它是由編譯程序根據(jù)一般用戶的需要編制并提供用戶使用的一組程序。的庫(kù)函數(shù)極大地方便了用戶同時(shí)也補(bǔ)充了語(yǔ)言本身的不足。事實(shí)上在編寫語(yǔ)言程序時(shí)應(yīng)當(dāng)盡可能多地使用庫(kù)函數(shù)這樣既可以提高程序的運(yùn)行效率又可以提高編程的質(zhì)量。
在?C語(yǔ)言程序設(shè)計(jì)里,C 標(biāo)準(zhǔn)函數(shù)庫(kù)(C Standard library) ?是所有符合標(biāo)準(zhǔn)的頭文件(head file)的集合,以及常用的函數(shù)庫(kù)實(shí)現(xiàn)程序,例如I/O 輸入輸出和字符串控制。不像?COBOL、Fortran?和?PL/I等編程語(yǔ)言,在 C 語(yǔ)言的工作任務(wù)里不會(huì)包含嵌入的關(guān)鍵字,所以幾乎所有的 C 語(yǔ)言程序都是由標(biāo)準(zhǔn)函數(shù)庫(kù)的函數(shù)來(lái)創(chuàng)建的。
每一個(gè)函數(shù)的名稱與特性會(huì)被寫成一個(gè)電腦文件,這個(gè)文件就稱為頭文件,但是實(shí)際的函數(shù)實(shí)現(xiàn)是被分存到函數(shù)庫(kù)文件里。頭文件的命名和領(lǐng)域是很常見的,但是函數(shù)庫(kù)的組織架構(gòu)也會(huì)因?yàn)椴煌木幾g器而有所不同。標(biāo)準(zhǔn)函數(shù)庫(kù)通常會(huì)隨附在編譯器上。因?yàn)?C 編譯器常會(huì)提供一些額外的非?ANSI C?函數(shù)功能,所以某個(gè)隨附在特定編譯器上的標(biāo)準(zhǔn)函數(shù)庫(kù),對(duì)其他不同的編譯器來(lái)說(shuō),是不兼容的。
你會(huì)發(fā)現(xiàn),有一些頭文件(比如stdlib.h,stdio.h)每一個(gè)編譯器都有,而里面的函數(shù)(如printf,malloc)每一個(gè)編譯器都支持。這些函數(shù)組成的集合就是標(biāo)準(zhǔn)函數(shù)庫(kù)。平常用的函數(shù)基本都屬于標(biāo)準(zhǔn)函數(shù)庫(kù)。
ANSI對(duì)此是有規(guī)定的
C語(yǔ)言輸入輸出函數(shù)有很多,標(biāo)準(zhǔn)I/O函數(shù)中包含了如下幾個(gè)常用的函數(shù):
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í)又涉及到緩沖的問(wèn)題,所以并不是在屏幕中敲上一個(gè)字符程序就會(huì)運(yùn)行,一般是通過(guò)在屏幕上敲上回車鍵,然后將回車前的字符串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個(gè)一個(gè)的讀字符.當(dāng)然也可以在while循環(huán)中指定終止字符,如下面的語(yǔ)句:while
((c
=
getchar())
!=
'#')這是以#來(lái)結(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ù)說(shuō)明:
buffer:是一個(gè)指針。
對(duì)fread
來(lái)說(shuō),它是讀入數(shù)據(jù)的存放地址。
對(duì)fwrite來(lái)說(shuō),是要輸出數(shù)據(jù)的地址(均指起始地址)。
size:
要讀寫的字節(jié)數(shù)。
count:
要進(jìn)行讀寫多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng)。
fp:
文件型指針。
當(dāng)前名稱:c語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)是什么,C語(yǔ)言的標(biāo)準(zhǔn)庫(kù)
分享地址:http://chinadenli.net/article16/dsiehgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、云服務(wù)器、微信公眾號(hào)、關(guān)鍵詞優(yōu)化、網(wǎng)站建設(shè)、企業(yè)建站
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)