亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言中常用的幾個(gè)頭文件及庫函數(shù)

 更新時(shí)間:2017年09月26日 10:35:15   作者:文兔君  
這篇文章主要介紹了C語言中常用的幾個(gè)頭文件及庫函數(shù)的相關(guān)資料,需要的朋友可以參考下

不完全統(tǒng)計(jì),C語言標(biāo)準(zhǔn)庫中的頭文件有15個(gè)之多,所以我主要介紹常用的這四個(gè)頭文件stdio.h,string.h,math.h,stdlib.h,以后用到其他的再做補(bǔ)充。下面上干貨:

1.<stdio.h>:定義了輸入輸出函數(shù)、類型以及宏,函數(shù)幾乎占了標(biāo)準(zhǔn)庫的1/3。

(1)文件訪問。

FILE *fopen(“filename”,“mode”):

以mode模式打開地址為'filename'的文件,并返回文件指針。

訪問模式主要是“r”:只讀;   “w” :只寫,并刪除已有內(nèi)容;  “a”:追加,在末尾追加;

 “r+”, “w+”:讀寫; “a+”追加,上述結(jié)尾加“b”:二進(jìn)制文件操作。

注意:其中r是打開文件,而w會創(chuàng)建(如果文件不存在);  w會覆蓋原有內(nèi)容,a則是在原有文件末尾追加。

int fclose(FILE *f):

釋放緩沖區(qū)數(shù)據(jù),關(guān)閉流。

下面兩個(gè)沒太用過:

FILE *freopen(“filename”,“mode”,F(xiàn)ILE * f):

以mode模式打開地址為'filename'的文件,并將該文件與流f2關(guān)聯(lián)。

int fflush(FILE *f):

將已寫到緩沖區(qū)但未寫入文件中的所有數(shù)據(jù)寫入文件中。

(2)二進(jìn)制輸入/輸出

fread(*ptr,size,n,F(xiàn)ILE* f):

從f中讀取n個(gè)長度為size的對象,并放入ptr指向的數(shù)組中。

fwrite(*ptr,size,n,F(xiàn)ILE* f):

從ptr指向數(shù)組中讀取n個(gè)長度為size的對象,并寫入f中。

注意:要注意write與read的對象,讀和寫都是針對文件流f的。

(3)非格式化輸入/輸出

int fgetc/getc(FILE *f):

返回流f的下一個(gè)字符,到達(dá)文件末尾/發(fā)生錯(cuò)誤,則返回EOF。

int fputc/putc(int c, FILE *f)

將字符c輸入到流f中。

int fgets(char * s,int n,F(xiàn)ILE *f):

將f中下n-1個(gè)字符讀入到數(shù)組s中。遇到換行符,則終止。

int fputs(const char * s,F(xiàn)ILE *f):

將字符串s輸出到流中。

int unget(int c, FILE *f)

將c寫回到f中。

(4)格式化輸入/輸出

按一定格式轉(zhuǎn)輸出。

scanf/fscanf/sscanf
printf/fprintf/sprintf

注意:不加f/s,則是格式字符串標(biāo)準(zhǔn)輸入/出函數(shù),輸入/出到終端/屏幕;printf(const char *format,...)

加s,輸入/出到字符串中。sprintf(char *s,const char *format,...)

加f,輸入/出到文件流中。  fprintf(FILE *f,const char *format,...)

(5)文件定位

long ftell(FILE *f):

返回當(dāng)前指針位置。錯(cuò)誤時(shí)返回-1L。

int fseek(FILE *f,long offset,int origin):

將當(dāng)前流f指針位置設(shè)置到:origin后offset個(gè)字符處。origin有:SEEK_SET:文件起始位置;SEEK_CUR指針當(dāng)前位置,SEEK_END:文件結(jié)束位置。

void rewind(FILE *f)

指針返回文件開始位置,相當(dāng)于:fseek(f,0L,SEEK_SET)

不常用:

int fgetpos(FILE *f,*p)

將指針當(dāng)前位置記錄到*p中,以供fsetpos函數(shù)使用。

int fsetpos(FILE *f,const *p)

指針位置指向*p。

(6)錯(cuò)誤處理與文件操作

int feof(FILE *f)

指示文件結(jié)束,一直返回0,結(jié)束時(shí)返回非0值。

int ferror(FILE *f)

如果設(shè)置了與f相關(guān)的錯(cuò)誤指示符,則返回一個(gè)非0值。

int remove(char *filename)

刪除指定位置的文件。

int rename(const char *oldname,const char *newname)

改文件名,否則返回非0值。

FILE *tmpfile(void)

建立臨時(shí)文件,‘wb+'模式,在被關(guān)閉或程序正常結(jié)束時(shí)自動刪除

2.<string.h> 分成兩組,一組str開頭,一組mem開頭(該組函數(shù)在<memory.h>中也有定義,不是所有編譯器都有)

(1)str

char * strcpy (char *dest, const char *src);

將字符串src復(fù)制到字符串dest中(包括'\0'),返回dest

char * strncpy (char *dest, const char *src,n);

將src中的前n個(gè)字符復(fù)制到dest中,返回dest,不夠n個(gè)則補(bǔ)‘\0'

char * strcat (char *dest, const char *src);
char * strncat (char *dest, const char *src,n);

src連接到dest后;src 中前n個(gè)字符連接到dest后。

int  strcmp (const char *s1, const char *s2);
int  strncmp (const char *s1, const char *s2,n); 比較s1與s2,s1<s2則返回負(fù)數(shù),否則返回0;比較前n個(gè)字符
char * strchr (const char *s, int c);
char * strrchr (const char *s, int c); 返回字符串s中第一次出現(xiàn)字符c的位置指針;返回字符串s中最后一次出現(xiàn)字符c的位置指針(c會轉(zhuǎn)換成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, const void *ct,n)

將字符串ct中的前n個(gè)字符拷貝到s中,并返回s。

void *memmove(s,ct,n)同上一函數(shù),只是在對象重疊時(shí)仍能正確執(zhí)行。
void *memset(void *s,int c, n)

將s中的前n個(gè)字符替換成c,并返回s。

int memcmp(cs,ct,n)

將cs前n個(gè)字符與ct進(jìn)行比較,cs<ct,返回負(fù)數(shù);否則返回0

void *memchr(cs,c,n)

返回指向c在cs中第一次出現(xiàn)的位置指針。

3.<math.h>一些數(shù)學(xué)函數(shù)

求絕對值

int abs  (int x);
long labs (long x);
float fabs (float x):

所有返回值均為double,三角函數(shù)角度用弧度表示,x,y均為double

double acos (x);
double asin (x);
double atan (x);
double atan2 (y, x):  arctan(y/x)
double tan  (x);
double tanh (x):    雙曲正切
double sin  (x);
double sinh (x);
double cos  (x);
double cosh (x);
double pow  (x, y);//注意返回值類型為雙精度型
double sqrt (x);
double ceil (x):   不小于x的最小整型數(shù)(向上取整)
double floor (x):  不大于x的最大整型數(shù)(向下取整)
double exp  (x);
double fabs (x);
double log  (x):     ln(x)
double log10 (x);
double fmod (x, y):    x/y的余數(shù)
double ldexp (x, n):         x*2^n
double modf (x, double *ip):   將x分成整數(shù)與小數(shù)兩部分,返回小數(shù)部分,整數(shù)部分放在*ip中
double frexp (x, int *exp);    將x分成(0.5,1)之間的一個(gè)真分?jǐn)?shù)和一個(gè)2的冪數(shù),返回真分?jǐn)?shù),冪數(shù)放在exp中

4.<stdlib.h>數(shù)值轉(zhuǎn)換、內(nèi)存分配等問題。

int rand(void)

產(chǎn)生一個(gè)0~32767之間的隨機(jī)整數(shù)。

指針名=(數(shù)據(jù)類型  *)calloc(n,size)

分配n個(gè)長度為size的連續(xù)空間,并且將所有元素置零,返回首地址。

指針名=(數(shù)據(jù)類型  *)malloc(n*size)

分配n*size個(gè)字節(jié)的內(nèi)存,并返回首地址。

指針名p1=(數(shù)據(jù)類型  *)realloc(要改變內(nèi)存大小的指針名p2,新的大小n)

分配長度為n字節(jié)的空間,將p2值賦值到該內(nèi)存中,返回首地址到p1.(改變p1指向地址的內(nèi)存大?。?/p>

void free(*p)

釋放p指向的內(nèi)存(p為malloc,realloc,calloc所開辟的內(nèi)存)

void abort (void)

使程序非正常終止。

void exit(int status)

使程序正常終止。

總結(jié)

以上所述是小編給大家介紹的C語言中常用的幾個(gè)頭文件及庫函數(shù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • C和指針小結(jié)(推薦)

    C和指針小結(jié)(推薦)

    下面小編就為大家?guī)硪黄狢和指針小結(jié)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考,一起跟隨小編過來看看吧
    2016-06-06
  • VS+QT編譯環(huán)境中字符亂碼問題解決方法

    VS+QT編譯環(huán)境中字符亂碼問題解決方法

    編碼就是把?個(gè)字符編碼成二進(jìn)制碼存起來的方式,而解碼就是把這個(gè)二進(jìn)制碼按照原本編碼的規(guī)則還原成原來的字符,這篇文章主要介紹了VS+QT編譯環(huán)境中字符亂碼問題詳解,需要的朋友可以參考下
    2024-01-01
  • C語言基于EasyX繪制時(shí)鐘

    C語言基于EasyX繪制時(shí)鐘

    這篇文章主要為大家詳細(xì)介紹了C語言基于EasyX繪制時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 獲取C語言中int類型的最大值的方法小結(jié)

    獲取C語言中int類型的最大值的方法小結(jié)

    在C語言中,int?類型的大小通常是根據(jù)系統(tǒng)架構(gòu)來決定的,在大多數(shù)現(xiàn)代系統(tǒng)上,int?通常是32位的,在C語言中,獲取int類型的最大值有幾種不同的方法,下面,我們將討論兩種方法:使用標(biāo)準(zhǔn)庫函數(shù)和使用算法,需要的朋友可以參考下
    2024-06-06
  • DOS簡易版C語言貪吃蛇

    DOS簡易版C語言貪吃蛇

    這篇文章主要為大家詳細(xì)介紹了DOS簡易版C語言貪吃蛇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • MFC命名規(guī)則匯總

    MFC命名規(guī)則匯總

    這篇文章主要介紹了MFC命名規(guī)則,對于初學(xué)者而言需要牢固掌握這類規(guī)則,需要的朋友可以參考下
    2014-07-07
  • C++實(shí)現(xiàn)停車場管理系統(tǒng)

    C++實(shí)現(xiàn)停車場管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)停車場管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語言實(shí)現(xiàn)括號配對的方法示例

    C語言實(shí)現(xiàn)括號配對的方法示例

    本文主要介紹了C語言實(shí)現(xiàn)括號配對的方法示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 數(shù)據(jù)結(jié)構(gòu)與算法中二叉樹子結(jié)構(gòu)的詳解

    數(shù)據(jù)結(jié)構(gòu)與算法中二叉樹子結(jié)構(gòu)的詳解

    這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)與算法中二叉樹子結(jié)構(gòu)的詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Opencv基于文字檢測去圖片水印的實(shí)現(xiàn)示例

    Opencv基于文字檢測去圖片水印的實(shí)現(xiàn)示例

    去水印是個(gè)麻煩事,本文就來介紹一種方法Opencv基于文字檢測去圖片水印的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09

最新評論