1.<stdio.h>:定義了輸入輸出函數、類型以及宏,函數幾乎占了標準庫的1/3。
(1)文件訪問。
FILE*fopen(“filename”,“mode”):
以mode模式打開地址為'filename'的文件,并返回文件指針。
訪問模式主要是“r”:只讀; “w” :只寫,并刪除已有內容; “a”:追加,在末尾追加;
“r+”, “w+”:讀寫; “a+”追加,上述結尾加“b”:二進制文件操作。
注意:其中r是打開文件,而w會創建(如果文件不存在); w會覆蓋原有內容,a則是在原有文件末尾追加。
intfclose(FILE*f):
釋放緩沖區數據,關閉流。
下面兩個沒太用過:
FILE*freopen(“filename”,“mode”,FILE*f):
以mode模式打開地址為'filename'的文件,并將該文件與流f2關聯。
intfflush(FILE*f):
將已寫到緩沖區但未寫入文件中的所有數據寫入文件中。
(2)二進制輸入/輸出
fread(*ptr,size,n,FILE*f):
從f中讀取n個長度為size的對象,并放入ptr指向的數組中。
fwrite(*ptr,size,n,FILE*f):
從ptr指向數組中讀取n個長度為size的對象,并寫入f中。
注意:要注意write與read的對象,讀和寫都是針對文件流f的。
(3)非格式化輸入/輸出
intfgetc/getc(FILE*f):
返回流f的下一個字符,到達文件末尾/發生錯誤,則返回EOF。
intfputc/putc(intc,FILE*f)
將字符c輸入到流f中。
intfgets(char*s,intn,FILE*f):
將f中下n-1個字符讀入到數組s中。遇到換行符,則終止。
intfputs(constchar*s,FILE*f):
將字符串s輸出到流中。
intunget(intc,FILE*f)
將c寫回到f中。
(4)格式化輸入/輸出
按一定格式轉輸出。
scanf/fscanf/sscanfprintf/fprintf/sprintf
注意:不加f/s,則是格式字符串標準輸入/出函數,輸入/出到終端/屏幕;printf(const char *format,...)
加s,輸入/出到字符串中。sprintf(char *s,const char *format,...)
加f,輸入/出到文件流中。 fprintf(FILE *f,const char *format,...)
(5)文件定位
longftell(FILE*f):
返回當前指針位置。錯誤時返回-1L。
intfseek(FILE*f,longoffset,intorigin):
將當前流f指針位置設置到:origin后offset個字符處。origin有:SEEK_SET:文件起始位置;SEEK_CUR指針當前位置,SEEK_END:文件結束位置。
voidrewind(FILE*f)
指針返回文件開始位置,相當于:fseek(f,0L,SEEK_SET)
不常用:
intfgetpos(FILE*f,*p)
將指針當前位置記錄到*p中,以供fsetpos函數使用。
intfsetpos(FILE*f,const*p)
指針位置指向*p。
(6)錯誤處理與文件操作
intfeof(FILE*f)
指示文件結束,一直返回0,結束時返回非0值。
intferror(FILE*f)
如果設置了與f相關的錯誤指示符,則返回一個非0值。
intremove(char*filename)
刪除指定位置的文件。
intrename(constchar*oldname,constchar*newname)
改文件名,否則返回非0值。
FILE*tmpfile(void)
建立臨時文件,‘wb+'模式,在被關閉或程序正常結束時自動刪除
2.<string.h> 分成兩組,一組str開頭,一組mem開頭(該組函數在<memory.h>中也有定義,不是所有編譯器都有)
(1)str
char*strcpy(char*dest,constchar*src);
將字符串src復制到字符串dest中(包括'\0'),返回dest
char*strncpy(char*dest,constchar*src,n);
將src中的前n個字符復制到dest中,返回dest,不夠n個則補‘\0'
char*strcat(char*dest,constchar*src);char*strncat(char*dest,constchar*src,n);
src連接到dest后;src 中前n個字符連接到dest后。
intstrcmp(constchar*s1,constchar*s2);intstrncmp(constchar*s1,constchar*s2,n);比較s1與s2,s1<s2則返回負數,否則返回0;比較前n個字符char*strchr(constchar*s,intc);char*strrchr(constchar*s,intc);返回字符串s中第一次出現字符c的位置指針;返回字符串s中最后一次出現字符c的位置指針(c會轉換成char)
不常見 size_t strcspn (const char *s1, const char *s2); char * strdup (const char *s); char * strerror(int errnum);
(2)mem
void*memcpy(void*s,constvoid*ct,n)
將字符串ct中的前n個字符拷貝到s中,并返回s。
void*memmove(s,ct,n)同上一函數,只是在對象重疊時仍能正確執行。void*memset(void*s,intc,n)
將s中的前n個字符替換成c,并返回s。
intmemcmp(cs,ct,n)
將cs前n個字符與ct進行比較,cs<ct,返回負數;否則返回0
void*memchr(cs,c,n)
返回指向c在cs中第一次出現的位置指針。
3.<math.h>一些數學函數
求絕對值
intabs(intx);longlabs(longx);floatfabs(floatx):
所有返回值均為double,三角函數角度用弧度表示,x,y均為double
doubleacos(x);doubleasin(x);doubleatan(x);doubleatan2(y,x):arctan(y/x)doubletan(x);doubletanh(x):雙曲正切doublesin(x);doublesinh(x);doublecos(x);doublecosh(x);doublepow(x,y);//注意返回值類型為雙精度型doublesqrt(x);doubleceil(x):不小于x的最小整型數(向上取整)doublefloor(x):不大于x的最大整型數(向下取整)doubleexp(x);doublefabs(x);doublelog(x):ln(x)doublelog10(x);doublefmod(x,y):x/y的余數doubleldexp(x,n):x*2^ndoublemodf(x,double*ip):將x分成整數與小數兩部分,返回小數部分,整數部分放在*ip中doublefrexp(x,int*exp);將x分成(0.5,1)之間的一個真分數和一個2的冪數,返回真分數,冪數放在exp中
4.<stdlib.h>數值轉換、內存分配等問題。
intrand(void)
產生一個0~32767之間的隨機整數。
指針名=(數據類型 *)calloc(n,size)
分配n個長度為size的連續空間,并且將所有元素置零,返回首地址。
指針名=(數據類型 *)malloc(n*size)
分配n*size個字節的內存,并返回首地址。
指針名p1=(數據類型 *)realloc(要改變內存大小的指針名p2,新的大小n)
分配長度為n字節的空間,將p2值賦值到該內存中,返回首地址到p1.(改變p1指向地址的內存大小)
voidfree(*p)
釋放p指向的內存(p為malloc,realloc,calloc所開辟的內存)
voidabort(void)
使程序非正常終止。
voidexit(intstatus)
使程序正常終止。
以上就是C語言中有哪些常用的頭文件,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注本站行業資訊頻道。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
滬港通開通對股票有什么影響?滬港通是上交所和港交所聯合建立的互聯互通機制,滬港通下設有:港股通和滬股通。滬港通開通后,給內地資金和香港資金提供了投資渠道。滬港通的開通會使滬股通標的股得到北向資金的支持和青睞;對港股通標的股來說,滬港通的開通,能使這些港股得到南下資金的青睞,更有利于股價上漲??偟膩碚f,互聯互通機制對內地資本市場和港股市場都有一定的利好北向資金就是指香港或外資進入內地股票市場的資金;...
全國統一大市場是什么意思?國內統一大市場指的是在全國范圍內,在充分競爭以及由此形成的社會分工基礎上,各地區市場間、各專業市場間形成了相互依存、相互補充、相互開放、相互協調的有機的市場體系。在這種市場體系下,商品和要素,在各行業、各地區間自由地、無障礙地流通或流動,市場封鎖、地方保護等現象基本消除,從而實現資源在全國范圍內順暢流動和優化配置。就目前來看,引起市場分割的因素有很多,主要包括自然和人為兩...
余額寶投了30萬沒了,如果是資金被盜,非個人原因丟失,而你又有賬戶安全險,那么,支付寶是會賠的;如果是因為個人原因或者投資失利,支付寶不會賠。支付寶余額寶投的是貨幣基金,并不保本、保收益,隨著收益率越來越低,很多人都擔心投的錢會沒了,其實,大可不必。余額寶的錢是可以隨時轉出來的,且貨幣基金的收益較穩定,不會出現劇跌,用戶可以在收益率跌破之前及時轉出來,至少能讓本金不受損失。其實余額寶是支付寶擔保的...