版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
c語言函數(shù)庫目錄TOC\o"1-5"\h\z第一章(C標(biāo)準(zhǔn)庫)4vassert.h>:診斷4vctype.h>:字符類別測試5<errno.h>:錯誤處理5vlimits.h>:整型常量6vlocale.h>:地域環(huán)境6<math.h>:數(shù)學(xué)函數(shù)7<setjmp.h>:非局部跳轉(zhuǎn)8vsignal.h>:信號9vstdarg.h>:可變參數(shù)表11vstddef.h>:公共定義11vstdio.h>:輸入輸出12vstdlib.h>:實用函數(shù)13<time.h>:日期與時間函數(shù)13第二章(10函數(shù))14clearerr:復(fù)位錯誤標(biāo)志函數(shù)15feof:檢測文件結(jié)束符函數(shù)16ferror:檢測流上的錯誤函數(shù)17fflush:清除文件緩沖區(qū)函數(shù)18fgetc:從流中讀取字符函數(shù)19fgetpos:取得當(dāng)前文件的句柄函數(shù)20fgets:從流中讀取字符串函數(shù)21fopen、fclose:文件的打開與關(guān)閉函數(shù)22fprintf:格式化輸出函數(shù)23fputc:向流中輸出字符函數(shù)25fputs:向流中輸出字符串函數(shù)25fread:從流中讀取字符串函數(shù)26freopen:替換文件中數(shù)據(jù)流函數(shù)27fscanf:格式化輸入函數(shù)28fseek:文件指針定位函數(shù)28fsetpos:定位流上的文件指針函數(shù)30ftell:返回當(dāng)前文件指針位置函數(shù)31fwrite:向文件寫入數(shù)據(jù)函數(shù)31getc:從流中讀取字符函數(shù)32getchar:從標(biāo)準(zhǔn)輸入文件中讀取字符函數(shù)33gets:從標(biāo)準(zhǔn)輸入文件中讀取字符串函數(shù)34perror:打印系統(tǒng)錯誤信息函數(shù)34printf:產(chǎn)生格式化輸出的函數(shù)35putc:向扌旨定流中輸出字符函數(shù)36putchar:向標(biāo)準(zhǔn)輸出文件上輸出字符37puts:將字符串輸出到終端函數(shù)37remove:刪除文件函數(shù)38rename:重命名文件函數(shù)38rewind:重置文件扌旨針函數(shù)39scanf:格式化輸入函數(shù)40setbuf、setvbuf:指定文件流的緩沖區(qū)函數(shù)41sprintf:向字符串寫入格式化數(shù)據(jù)函數(shù)42sscanf:從緩沖區(qū)中讀格式化字符串函數(shù)43tmpfile:倉I」建臨時文件函數(shù)43tmpnam:創(chuàng)建臨時文件名函數(shù)44ungetc:把字符退回到輸入流函數(shù)45第三章(字符處理函數(shù))46isalnum:檢查字符是否是字母或數(shù)字46isalpha:檢查字符是否是字母47isascii:檢查字符是否是ASCII碼48iscntrl:檢查字符是否是控制字符48isdigit:檢查字符是否是數(shù)字字符49isgraph:檢查字符是否是可打印字符(不含空格)50islower:檢查字符是否是小寫字母50isprint:檢查字符是否是可打印字符(含空格)51ispunct:檢查字符是否是標(biāo)點字符52isspace:檢查字符是否是空格符52isupper:檢查字符是否是大寫字母53isxdigit:檢查字符是否是十六進(jìn)制數(shù)字字符54toascii:將字符轉(zhuǎn)換為ASCII碼54tolower:將大寫字母轉(zhuǎn)換為小寫字母55toupper:將小寫字母轉(zhuǎn)換為大寫字母56第四章(字符串函數(shù))56atof:字符串轉(zhuǎn)浮點型函數(shù)57atoi:字符串轉(zhuǎn)整型函數(shù)58atol:字符串轉(zhuǎn)長整型函數(shù)59memchr:字符搜索函數(shù)59memcmp:字符串比較函數(shù)60memcpy:字符串拷貝函數(shù)61memmove:字塊移動函數(shù)62memset:字符加載函數(shù)63strcat:字符串連接函數(shù)64strchr:字符串中字符首次匹配函數(shù)65strcmp:字符串比較函數(shù)66strcpy:字符串拷貝函數(shù)67strcspn:字符集逆匹配函數(shù)68strdup:字符串新建拷貝函數(shù)69strerror:字符串錯誤信息函數(shù)70strlen:計算字符串長度函數(shù)71strlwr:字符串小寫轉(zhuǎn)換函數(shù)71strncat:字符串連接函數(shù)72strncmp:字符串子串比較函數(shù)73strncpy:字符串子串拷貝函數(shù)74strpbrk:字符集字符匹配函數(shù)75strrchr:字符串中字符末次匹配函數(shù)76strrev:字符串倒轉(zhuǎn)函數(shù)77strset:字符串設(shè)定函數(shù)78strspn:字符集匹配函數(shù)78strstr:字符串匹配函數(shù)79strtod:字符串轉(zhuǎn)換成雙精度函數(shù)80strtok:字符串分隔函數(shù)81strtol:字符串轉(zhuǎn)換成長整型函數(shù)82strtou1:字符串轉(zhuǎn)換成無符號長整型函數(shù)84strupr:字符串大寫轉(zhuǎn)換函數(shù)85strupr:字符串大寫轉(zhuǎn)換函數(shù)85第五章(數(shù)學(xué)函數(shù))86abs、labs、fabs:求絕對值函數(shù)87acos:反余弦函數(shù)88asin:反正弦函數(shù)88atan:反正切函數(shù)89atan2:反正切函數(shù)289ceil:向上舍入函數(shù)90cos:余弦函數(shù)90cosh:雙曲余弦函數(shù)91div、ldiv:除法函數(shù)91exp:求e的x次冪函數(shù)92floor:向下舍入函數(shù)93fmod:求模函數(shù)94frexp:分解浮點數(shù)函數(shù)94hypot:求直角三角形斜邊長函數(shù)95ldexp:裝載浮點數(shù)函數(shù)95log、loglO:對數(shù)函數(shù)96modf:分解雙精度數(shù)函數(shù)97pow、pow10:指數(shù)函數(shù)97rand:產(chǎn)生隨機整數(shù)函數(shù)98sin:正弦函數(shù)98sinh:雙曲正弦函數(shù)99sqrt:開平方函數(shù)99srand:設(shè)置隨機時間的種子函數(shù)100tan:正切函數(shù)101tanh:雙曲正切函數(shù)101第六章(時間和日期函數(shù))102asctime:日期和時間轉(zhuǎn)換函數(shù)102clock:測定運行時間函數(shù)103ctime:時間轉(zhuǎn)換函數(shù)104difftime:計算時間差函數(shù)104gmtime:將日歷時間轉(zhuǎn)換為GMT105localtime:把日期和時間轉(zhuǎn)變?yōu)榻Y(jié)構(gòu)106mktime:時間類型轉(zhuǎn)換函數(shù)106time:獲取系統(tǒng)時間函數(shù)108第七章(其它函數(shù))108abort:異常終止進(jìn)程函數(shù)109atexit:注冊終止函數(shù)109bsearch:二分搜索函數(shù)110calloc:分配主存儲器函數(shù)112exit:正常終止進(jìn)程函數(shù)113free:釋放內(nèi)存函數(shù)113getenv:獲取環(huán)境變量114malloc:動態(tài)分配內(nèi)存函數(shù)115qsort:快速排序函數(shù)115realloc:重新分配主存函數(shù)117第一章(C標(biāo)準(zhǔn)庫)<assert.h>:診斷<ctype.h>:字符類別測試<errno.h>:錯誤處理<limits.h>:整型常量<locale.h>:地域環(huán)境<math.h>:數(shù)學(xué)函數(shù)<setjmp.h>:非局部跳轉(zhuǎn)<signal.h>:信號<stdarg.h>:可變參數(shù)表<stddef.h>:公共定義<stdio.h>:輸入輸出<stdlib.h>:實用函數(shù)<time.h>:日期與時間函數(shù)1.<assert.h>:診斷<assert.h>中只定義了一個帶參的宏assert,其定義形式如下:voidassert(int表達(dá)式)assert宏用于為程序增加診斷功能,它可以測試一個條件并可能使程序終止。在執(zhí)行語句:assert(表達(dá)式);時,如果表達(dá)式為0,則在終端顯示一條信息:Assertionfailed:0,file源文件名,line行號Abnormalprogramtermination然后調(diào)用abort終止程序的執(zhí)行。在<assert.h>中,帶參宏assert是被定義為條件編譯的,如果在源文件中定義了宏NDEBUG,則即使包含了頭文件<assert.h>,assert宏也將被忽略。2.<ctype.h>:字符類別測試在頭文件<ctype.h>中定義了一些測試字符的函數(shù)。在這些函數(shù)中,每個函數(shù)的參數(shù)都是整型int,而每個參數(shù)的值或者為EOF,或者為char類型的字符。<ctype.h>中定義的標(biāo)準(zhǔn)函數(shù)列表如下:<ctype.h>中定義的函數(shù)函數(shù)定義,函數(shù)功能簡介intisalnum(intc),檢查字符是否是字母或數(shù)字intisalpha(intc),檢查字符是否是字母intisascii(intc),檢查字符是否是ASCII碼intiscntrl(intc),檢查字符是否是控制字符intisdigit(intc),檢查字符是否是數(shù)字字符intisgraph(intc),檢查字符是否是可打印字符intislower(intc),檢查字符是否是小寫字母intisprint(intc),檢查字符是否是可打印字符intispunct(intc),檢查字符是否是標(biāo)點字符intisspace(intc),檢查字符是否是空格符intisupper(intc),檢查字符是否是大寫字母intisxdigit(intc),檢查字符是否是十六進(jìn)制數(shù)字字符inttoupper(intc),將小寫字母轉(zhuǎn)換為大寫字母inttolower(intc),將大寫字母轉(zhuǎn)換為小寫字母有關(guān)<ctype.h>中定義的這些標(biāo)準(zhǔn)函數(shù)以及一些常用的非標(biāo)準(zhǔn)字符處理函數(shù)將在第十章中進(jìn)行詳細(xì)地介紹。3.<errno.h>:錯誤處理<errno.h>中定義了兩個常量,一個變量。1、EDOM它表示數(shù)學(xué)領(lǐng)域錯誤的錯誤代碼。2、ERANGE它表示結(jié)果超出范圍的錯誤代碼。3、errno這是一個變量,該值被設(shè)置成用來指出系統(tǒng)調(diào)用的錯誤類型。4.<limits.h>:整型常量在頭文件<limits.h>中定義了一些表示整型大小的常量。下面給出這些常量的字符表示以及含義,見下表。<limits.h>中定義的字符常量字符常量,取值,含義CHAR_BIT,8,char類型的位數(shù)CHAR_MAX,255或127,char類型最大值CHAR_MIN,0或-127,char類型最小值INT_MIN,-32767,int類型最小值INT_MAX,32767,int類型最大值LONG_MAX,2147483647,long類型最大值LONG_MIN,-2147483647,long類型最小值SCHAR_MAX,127,signedchar類型最大值SCHAR_MIN,-127,signedchar類型最小值SHRT_MAX,32767,short類型的最大值SHRT_MIN,-32767,short類型的最小值UCHAR_MAX,255,unsignedchar類型最大值UINT_MAX,65535,unsignedint類型最大值ULONG_MAX,4294967295,unsignedlong類型最大值USHRT_MAX,65535,unsignedshort類型的最大值5.<locale.h>:地域環(huán)境在<1ocale.h>中,定義了7個常量,一個結(jié)構(gòu),2個函數(shù)。1、常量的定義LC_ALL:傳遞給setlocale的第一個參數(shù),指定要更改該locale的哪個方面。LC_COLLATE:strcoll和strxfrm的行為。LC_CTYPE:字符處理函數(shù)。LC_MONETARY:localeconv返回的貨幣信息。LC_NUMERIC:localeconv返回的小數(shù)點和貨幣信息。LC_TIME:strftime的行為。以上擴展成具有唯一取值的整型常數(shù)表達(dá)式,可作為setlocale的第一個參數(shù)。NULL:由實現(xiàn)環(huán)境定義的空指針。2、structlconv結(jié)構(gòu)該結(jié)構(gòu)用于存儲和表示當(dāng)前l(fā)ocale的設(shè)置。其結(jié)構(gòu)定義如下:structlconv{char*decimal_point;char*thousands_sep;char*grouping;char*int_curr_symbol;char*currency_symbol;char*mon_decimal_point;char*mon_thousands_sep;char*mon_grouping;char*positive_sign;char*negative_sign;charint_frac_digits;charfrac_digits;charp_cs_precedes;charp_sep_by_space;charn_cs_precedes;charn_sep_by_space;charp_sign_posn;charn_sign_posn;};3、函數(shù)structIconv*localeconv(void);函數(shù)localeconv將一個structIconv類型的對象的數(shù)據(jù)成員設(shè)置成為按照當(dāng)前地域環(huán)境的有關(guān)規(guī)則進(jìn)行數(shù)量格式化后的相應(yīng)值。char*setlocale(intcategory,char*locale);函數(shù)setlocale用于更改和查詢程序的整個當(dāng)前地域環(huán)境或部分設(shè)置。地域環(huán)境變量由參數(shù)category(上面定義的6個常量)和locale指定。6.<math.h>:數(shù)學(xué)函數(shù)在<math.h>中定義了一些數(shù)學(xué)函數(shù)和宏,用來實現(xiàn)不同種類的數(shù)學(xué)運算。下面給出<math.h>中標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)的函數(shù)定義及功能簡介,見下表。<math.h>中定義的函數(shù)函數(shù)定義,函數(shù)功能簡介doubleexp(doublex);,指數(shù)運算函數(shù),求e的x次幕函數(shù)doublelog(doublex),對數(shù)函數(shù)ln(x)doublelog10(doublex);,對數(shù)函數(shù)logdoublepow(doublex,doubley);,指數(shù)函數(shù)(x的y次方)doublesqrt(doublex);,計算平方根函數(shù)doubleceil(doublex);,向上舍入函數(shù)doublefloor(doublex);,向下舍入函數(shù)doublefabs(doublex);,求浮點數(shù)的絕對值doubleldexp(doublex,intn);,裝載浮點數(shù)函數(shù)doublefrexp(doublex,int*exp);,分解浮點數(shù)函數(shù)doublemodf(doublex,double*ip);,分解雙精度數(shù)函數(shù)doublefmod(doublex,doubley);,求模函數(shù)doublesin(doublex);,計算x的正弦值函數(shù)doublecos(doublex);,計算x的余弦值函數(shù)doubletan(doublex);,計算x的正切值函數(shù)doubleasin(doublex);,計算x的反正弦函數(shù)doubleacos(doublex);,計算x的反余弦函數(shù)doubleatan(doublex);,反正切函數(shù)1doubleatan2(doubley,doublex);,反正切函數(shù)2doublesinh(doublex);,計算x的雙曲正弦值doublecosh(doublex);,計算x的雙曲余弦值doubletanh(doublex);,計算x的雙曲正切值在標(biāo)準(zhǔn)庫中,還有一些與數(shù)學(xué)計算有關(guān)的函數(shù)定義在其他頭文件中7.<setjmp.h>:非局部跳轉(zhuǎn)在頭文件<setjmp.h>中定義了一種特別的函數(shù)調(diào)用和函數(shù)返回順序的方式。這種方式不同于以往的函數(shù)調(diào)用和返回順序,它允許程序流程立即從一個深層嵌套的函數(shù)中返回。<setjmp.h>中定義了兩個宏:intsetjmp(jmp_bufenv);/*設(shè)置調(diào)轉(zhuǎn)點*/和longjmp(jmp_bufjmpb,intretval);/*跳轉(zhuǎn)*/宏setjmp的功能是將當(dāng)前程序的狀態(tài)保存在結(jié)構(gòu)env,為調(diào)用宏longjmp設(shè)置一個跳轉(zhuǎn)點。setjmp將當(dāng)前信息保存在env中供longjmp使用。其中env是jmp_buf結(jié)構(gòu)類型的,該結(jié)構(gòu)定義為:typedefstruct{unsignedj_sp;unsignedj_ss;unsignedj_flag;unsignedj_cs;unsignedj_ip;unsignedj_bp;unsignedj_di;unsignedj_es;unsignedj_si;unsignedj_ds;}jmp_buf[1];直接調(diào)用setjmp時,返回值為0,這一般用于初始化(設(shè)置跳轉(zhuǎn)點時)。以后再調(diào)用longjmp宏時用env變量進(jìn)行跳轉(zhuǎn)。程序會自動跳轉(zhuǎn)到setjmp宏的返回語句處,此時setjmp的返回值為非0,由longjmp的第二個參數(shù)指定。下面通過例子來理W<setjmp.h>中定義的這兩個宏。例程9-1非局部跳轉(zhuǎn)演示。#include<setjmp.h>jmp_bufenv;/*定義jmp_buf類型變量*/intmain(void){intvalue;value=setjmp(env);/*調(diào)用setjmp,為longjmp設(shè)置跳轉(zhuǎn)點*/if(value!=0){printf("Longjmpwithvalue%d\n",value);exit(value);/*退出程序*/}printf("Jump...\n");longjmp(env,1);/*跳轉(zhuǎn)到setjmp語句處*/return0;}本例程先應(yīng)用setjmp宏為longjmp設(shè)置跳轉(zhuǎn)點,當(dāng)?shù)谝淮握{(diào)用setjmp時返回值為0,并將程序的當(dāng)前狀態(tài)(寄存器的相關(guān)狀態(tài))保存在結(jié)構(gòu)變量env中。當(dāng)程序執(zhí)行到longjmp時,系統(tǒng)會根據(jù)setjmp保存下來的狀態(tài)env跳轉(zhuǎn)到setjmp語句處,并根據(jù)longjmp的第二個參數(shù)設(shè)置此時setjmp的返回值。本例程的運行結(jié)果為:Jump...Longjmpwithvalue1一般地,宏setjmp和longjmp是成對使用的,這樣程序流程可以從一個深層嵌套的函數(shù)中返回。8.<signal.h>:信號頭文件<signal.h>中提供了一些處理程序運行期間引發(fā)的各種異常條件的功能,例如一些來自外部的中斷信號等。在<signal.h>中只定義了兩個函數(shù):intsignal(intsig,sigfunfname);和intraise(intsig);signal函數(shù)的作用是設(shè)置某一信號的對應(yīng)動作。其中參數(shù)sig用來指定哪一個信號被設(shè)置處理函數(shù)。在標(biāo)準(zhǔn)C中支持的信號如下表。標(biāo)準(zhǔn)C支持的信號取值,說明,默認(rèn)執(zhí)行動作,使用的操作系統(tǒng)SIGABRT,異常中止,中止程序,UNIXDOSSIGPPE,算術(shù)運算錯誤,中止程序,UNIXDOSSIGILL,非法硬件指令,中止程序,UNIXDOSSIGINT,終端中斷,中止程序,UNIXDOSSIGSEGV,無效的內(nèi)存訪問,中止程序,UNIXDOSSIGTERM,中止信號,中止程序,UNIXDOS參數(shù)fname是一個指向函數(shù)的指針,當(dāng)sig的信號發(fā)生時程序會自動中斷轉(zhuǎn)而執(zhí)行fname指向的函數(shù)。執(zhí)行完畢再返回斷點繼續(xù)執(zhí)行程序。系統(tǒng)提供了兩個常量函數(shù)指針,可以作為函數(shù)的參數(shù)傳遞。它們分別是:SIG_DEF:執(zhí)行默認(rèn)的系統(tǒng)第一的函數(shù)。SIG_IGN:忽略此信號。raise函數(shù)的作用是向正在執(zhí)行的程序發(fā)送一個信號,從而使得當(dāng)前進(jìn)程產(chǎn)生一個中斷而轉(zhuǎn)向信號處理函數(shù)signal執(zhí)行。其中參數(shù)sig為信號名稱,它的取值范圍同函數(shù)signal中的參數(shù)sig取值范圍相同,見表9-6。下面通過例子理解函數(shù)signal和raise。例程9-2signall和raise函數(shù)演示#include<stdio.h>#include<signal.h>voidPrint1();voidPrint2();intmain(){signal(SIGINT,Print1);printf("PleaseenterCtr+cforinterupt\n");getchar();signal(SIGSEGV,Print2);printf("Pleaseenteranykeyforainterupt\n");getchar();raise(SIGSEGV);}voidPrint1(){printf("ThisisaSIGINTinterupt!\n");}voidPrint2(){printf("ThisisaSIGSEGVinterupt!\n");}本例程首先通過用戶終端輸入Ctrl+c產(chǎn)生一個終端中斷,然后應(yīng)用signal函數(shù)調(diào)用中斷處理函數(shù)Print1;再通過raise函數(shù)生成一個無效內(nèi)存訪問中斷,并通過signal函數(shù)調(diào)用中斷處理函數(shù)Print2。本例程的運行結(jié)果為:PleaseenterCtr+cforinteruptACThisisaSIGINTinterupt!PleaseenteranykeyforainteruptaThisisaSIGSEGVinterupt!9.<stdarg.h>:可變參數(shù)表可變參數(shù)表<上43隠?。局械暮晔怯脕矶x參數(shù)可變的函數(shù)的。在C語言中,有些庫函數(shù)或者用戶自定義的函數(shù)的參數(shù)是可變的,常用省略號“……”(例如庫函數(shù)中的printf),定義這樣的函數(shù)就要使用到<stdarg.h>中的宏。1、va_list用于保存宏va_start,va_arg以及va_end所需信息的數(shù)據(jù)類型。2、<stdarg.h>中還定義了三個宏voidva_start(va_listap,parmN);typeva_arg(va_listap,type);voidva_end(va_listap);va_start的作用是初始化ap,因此va_start要在所有其它的va_開頭的宏前面最先使用(除了用va_list定義變量外),后面的va_copy,va_arg,va_end都要使用到ap。在一對va_start和va_end之間不能再次使用va_start宏。其中,parmN為"..."之前的最后一個參數(shù)。例如,printf函數(shù)定義為:printf(constchar*format,...);那么在printf函數(shù)中的va_start使用之后,parmN的值就等于*format。va_arg的作用就是返回參數(shù)列表ap中的下一個具有type類型的參數(shù),每次調(diào)用va_arg都會修改ap的值,這樣才能連續(xù)不斷地獲取下一個type類型的參數(shù)。va_end與va_start構(gòu)成了一個scope,va_end標(biāo)志著結(jié)束,va_end之后ap就無效了。<stddef.h>:公共定義在頭文件<seddef.h>中,指定了標(biāo)準(zhǔn)庫中的公共定義。其中主要包括以下內(nèi)容:1、NULL空指針類型常量。2、offset(type,member-designator)它是擴展iz-t類型的一個整型常數(shù)表達(dá)式。它的值為從type定義的結(jié)構(gòu)類型的開頭到結(jié)構(gòu)成員member-designator的偏移字節(jié)數(shù)。3、ptrdiff_t表示兩指針之差的帶符號整數(shù)類型。4、size_t表示由sizeof運算符計算出的結(jié)果類型,它是一個無符號整數(shù)類型。5、wchar_t它是一種整數(shù)類型,取值范圍為在被支持的地域環(huán)境中最大擴展字符集的所有字符的各種代碼,空字符代碼值為0。<stdio.h>:輸入輸出在頭文件<stdio.h>中定義了輸入輸出函數(shù),類型和宏。這些函數(shù)、類型和宏幾乎占到標(biāo)準(zhǔn)庫的三分之一。下面給出頭文件<stdio.h>中聲明的函數(shù)以及功能簡介,見下表。<stdio.h>中聲明的函數(shù)函數(shù)定義,函數(shù)功能簡介FILE*fopen(char*,char*type),打開一個文件FILE*fropen(char*,char*type,FILE*fp),打開一個文件,并將該文件關(guān)聯(lián)到fp指定的流intfflush(FILE*stream),清除一個流intfclose(FILE*stream),關(guān)閉一個文件intremove(char*),刪除一個文件intrename(char*oldname,char*newname),重命名文件FILE*tmp),以二進(jìn)制方式打開暫存文件char*tmpnam(char*sptr),創(chuàng)建一個唯一的文件名intsetvbuf(FILE*stream,char*buf,inttype,unsignedsize),把緩沖區(qū)與流相關(guān)intprintf(char*format...),產(chǎn)生格式化輸出的函數(shù)intfprintf(FILE*stream,char*format[,argument,...]),傳送格式化輸出到一個流中intscanf(char*format[,argument,...]),執(zhí)行格式化輸入intfscanf(FILE*stream,char*format[,argument...]),從一個流中執(zhí)行格式化輸入intfgetc(FILE*stream),從流中讀取字符char*fgets(char*string,intn,FILE*stream),從流中讀取一字符串intfputc(intch,FILE*stream),送一個字符到一個流中intfputs(char*string,FILE*stream),送一個字符到一個流中intgetc(FILE*stream),從流中取字符intgetchar(void),從stdin流中讀字符char*gets(char*string),從流中取一字符串intputchar(intch),在stdout上輸出字符intputs(char*string),送一字符串到流中intungetc(charc,FILE*stream),把一個字符退回到輸入流中intfread(void*ptr,intsize,intnitems,FILE*stream),從一個流中讀數(shù)據(jù)intfwrite(void*ptr,intsize,intnitems,FILE*stream),寫內(nèi)容到流中intfseek(FILE*stream,longoffset,intfromwhere),重定位流上的文件指針longftell(FILE*stream),返回當(dāng)前文件指針intrewind(FILE*stream),將文件指針重新指向一個流的開頭intfgetpos(FILE*stream),取得當(dāng)前文件的句柄intfsetpos(FILE*stream,constfpos_t*pos),定位流上的文件指針voidclearerr(FILE*stream),復(fù)位錯誤標(biāo)志intfeof(FILE*stream),檢測流上的文件結(jié)束符intferror(FILE*stream),檢測流上的錯誤voidperror(char*string),系統(tǒng)錯誤信息在頭文件<stdio.h>中還定義了一些類型和宏。<stdlib.h>:實用函數(shù)在頭文件<stdlib.h>中聲明了一些實現(xiàn)數(shù)值轉(zhuǎn)換,內(nèi)存分配等類似功能的函數(shù)。下面給出頭文件<stdlib.h>中聲明的函數(shù)以及功能簡介,見下表。<stdlib.h>中聲明的函數(shù)函數(shù)定義,函數(shù)功能簡介doubleatof(constchar*s),將字符串s轉(zhuǎn)換為double類型intatoi(constchar*s),將字符串s轉(zhuǎn)換為int類型longatol(constchar*s),將字符串s轉(zhuǎn)換為long類型doublestrtod(constchar*s,char**endp),將字符串s前綴轉(zhuǎn)換為double型longstrtol(constchar*s,char**endp,intbase),將字符串s前綴轉(zhuǎn)換為long型unsingedlongstrtol(constchar*s,char**endp,intbase),將字符串s前綴轉(zhuǎn)換為unsingedlong型intrand(void),產(chǎn)生一個0~RAND_MAX之間的偽隨機數(shù)voidsrand(unsignedintseed),初始化隨機數(shù)發(fā)生器void*calloc(size_tnelem,size_telsize),分配主存儲器void*malloc(unsignedsize),內(nèi)存分配函數(shù)void*realloc(void*ptr,unsignednewsize),重新分配主存voidfree(void*ptr),釋放已分配的塊voidabort(void),異常終止一個進(jìn)程voidexit(intstatus),終止應(yīng)用程序intatexit(atexit_tfunc),注冊終止函數(shù)char*getenv(char*envvar),從環(huán)境中取字符串void*bsearch(constvoid*key,constvoid*base,size_t*nelem,size_twidth,int(*fcmp)(constvoid*,const*)),二分法搜索函數(shù)voidqsort(void*base,intnelem,intwidth,int(*fcmp)()),使用快速排序例程進(jìn)行排序intabs(inti),求整數(shù)的絕對值longlabs(longn),取長整型絕對值div_tdiv(intnumber,intdenom),將兩個整數(shù)相除,返回商和余數(shù)ldiv_tldiv(longlnumer,longldenom),兩個長整型數(shù)相除,返回商和余數(shù)有關(guān)上面列出的這些標(biāo)準(zhǔn)實用函數(shù)的功能、用法、例程等。13.<time.h>:日期與時間函數(shù)在頭文件<time.h>中,聲明了一些處理日期和時間的類型與函數(shù)。clock_t和time_t是兩個表示時間值的算術(shù)類型。結(jié)構(gòu)structtm存儲了一個日歷時間的各個成分。結(jié)構(gòu)tm的成員的意義及其正常的取值范圍如下:structtm{inttm_sec;/*從當(dāng)前分鐘開始經(jīng)過的秒數(shù)(0,61)*/inttm_min;/*從當(dāng)前小時開始經(jīng)過的分鐘數(shù)(0,59)*/inttm_hour;/*從午夜開始經(jīng)過的小時數(shù)(0,23)*/inttm_mday;/*當(dāng)月的天數(shù)(1,31)*/inttm_mon;/*從1月起經(jīng)過的月數(shù)(0,11)*/inttm_year;/*從1900年起經(jīng)過的年數(shù)*/inttm_wday;/*從本周星期天開始經(jīng)過的天數(shù)(0,6)*/inttm_yday;/*從今年1月1日起經(jīng)過的天數(shù)(0,356)*/inttm_isdst;/*夏令時標(biāo)記*/};如果夏令時有效,夏令時標(biāo)記tm_isdst值為正;若夏令時無效,tm_isdst值為0;如果得不到夏令時信息,tm_isdst值為負(fù)。下面給出頭文件<time.h>中聲明的時間函數(shù),見下表。<ti
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年09月廣東2024年廣發(fā)銀行深圳分行校園招考筆試歷年參考題庫附帶答案詳解
- 2024年09月山東2024年中信銀行濟(jì)南分行秋季校園招考筆試歷年參考題庫附帶答案詳解
- 2024年09月北京2024年中國建設(shè)銀行數(shù)字化工廠校園招考筆試歷年參考題庫附帶答案詳解
- 6解熱鎮(zhèn)痛抗炎藥課件
- 2024年09月全國2024屆南京銀行全球校園招考筆試歷年參考題庫附帶答案詳解
- 2024年08月重慶巴南浦發(fā)村鎮(zhèn)銀行招考筆試歷年參考題庫附帶答案詳解
- 2024年08月紹興銀行新昌支行誠聘英才(1人)筆試歷年參考題庫附帶答案詳解
- 醫(yī)藥銷售團(tuán)隊培訓(xùn)
- 2024年08月中國光大銀行零售與財富管理部遠(yuǎn)程銀行中心遠(yuǎn)程客戶經(jīng)理崗位招聘筆試歷年參考題庫附帶答案詳解
- 安全監(jiān)控技術(shù)
- 2025年湖南出版中南傳媒招聘筆試參考題庫含答案解析
- 2025年度商用廚房油煙機安裝與維護(hù)服務(wù)合同范本3篇
- 2024年03月恒豐銀行2024年春季招考畢業(yè)生筆試歷年參考題庫附帶答案詳解
- 網(wǎng)絡(luò)安全系統(tǒng)運維方案
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實踐指導(dǎo)材料之14:“6策劃-6.3變更的策劃”(雷澤佳編制-2025B0)
- 2024年特厚板行業(yè)現(xiàn)狀分析:中國特厚板市場占總銷售量45.01%
- 2025年中國地質(zhì)調(diào)查局烏魯木齊自然資源綜合調(diào)查中心招聘19人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 中國兒童重癥監(jiān)護(hù)病房鎮(zhèn)痛和鎮(zhèn)靜治療專家共識2024解讀
- 音樂老師年度總結(jié)5篇
- 2024版商標(biāo)許可使用合同與商標(biāo)授權(quán)協(xié)議3篇
- 學(xué)生學(xué)情分析報告范文
評論
0/150
提交評論