真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言setbuf函數(shù) c setbuf

c語言setbuf函數(shù)怎么用啊

你的程序流程是這樣的:

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站制作、金鄉(xiāng)網(wǎng)絡(luò)推廣、小程序制作、金鄉(xiāng)網(wǎng)絡(luò)營銷、金鄉(xiāng)企業(yè)策劃、金鄉(xiāng)品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供金鄉(xiāng)建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com

while((c=getchar())?!=?EOF)

putchar(c);

這個是一個循環(huán),會要求你不停輸入,直到你鍵入ctr-z(Windows上,如果是xNix則是Ctr-D),這個循環(huán)才會終止;

② 上面的循環(huán)終止后,你最后一次輸入的字符,才會被輸出到stdout(這里即是屏幕)上面。

因此如果你希望每鍵入一個字符就立刻回顯到屏幕上,你應(yīng)該:

while((c=getchar())!=?EOF)

{

putchar(c);

fflush(stdout);

}

C語言中清除緩沖區(qū)很重要嗎?

如果緩沖區(qū)是在棧里分配的話是不需要清除的,因為系統(tǒng)會幫你做這個工作,但是如果緩沖區(qū)是分配在堆里的話就要自己手動清除了,不然會發(fā)生內(nèi)存泄露,就是雖然不使用,但占用的資源仍然不能釋放,會影響系統(tǒng)性能。

清除緩沖區(qū)有三種方法:

方法一:

fflush(stdin);

fflush(stdin)在VC上可以使用,但是其他編譯器不能保證對fflush的實(shí)現(xiàn)。

方法二:

setbuf(stdin, NULL);

setbuf(stdin, NULL);是使stdin輸入流由默認(rèn)緩沖區(qū)轉(zhuǎn)為無緩沖區(qū)。但緩沖區(qū)沒有了。

方法三:

char ch;while((ch = getchar()) != '\n' ch != EOF);

這種方法是最好的方法,因為它使用的是C語言的基本語法,在什么情況都是支持的。

C語言最文件操作函數(shù)(2)

14.freopen(打開文件)

相關(guān)函數(shù) fopen,fclose

表頭文件 #includestdio.h

定義函數(shù) FILE * freopen(const char * path,const char * mode,FILE * stream);

函數(shù)說明 參數(shù)path字符串包含欲打開的文件路徑及文件名,參數(shù)mode請參考fopen()說明。參數(shù)stream為已打開的文件指針。Freopen()會將原stream所打開的文件流關(guān)閉,然后打開參數(shù)path的文件。

返回值 文件順利打開后,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,并把錯誤代碼存在errno 中。

范例

復(fù)制代碼代碼如下:

#includestdio.h

main()

{

FILE * fp;

fp=fopen(“/etc/passwd”,”r”);

fp=freopen(“/etc/group”,”r”,fp);

fclose(fp);

}

15.fseek(移動文件流的讀寫位置)

相關(guān)函數(shù) rewind,ftell,fgetpos,fsetpos,lseek

表頭文件 #includestdio.h

定義函數(shù) int fseek(FILE * stream,long offset,int whence);

函數(shù)說明 fseek()用來移動文件流的讀寫位置。參數(shù)stream為已打開的文件指針,參數(shù)offset為根據(jù)參數(shù)whence來移動讀寫位置的位移數(shù)。

參數(shù) whence為下列其中一種:

SEEK_SET從距文件開頭offset位移量為新的讀寫位置。SEEK_CUR 以目前的讀寫位置往后增加offset個位移量。

SEEK_END將讀寫位置指向文件尾后再增加offset個位移量。

當(dāng)whence值為SEEK_CUR 或SEEK_END時,參數(shù)offset允許負(fù)值的出現(xiàn)。

下列是較特別的使用方式:

1) 欲將讀寫位置移動到文件開頭時:fseek(FILE *stream,0,SEEK_SET);

2) 欲將讀寫位置移動到文件尾時:fseek(FILE *stream,0,0SEEK_END);

返回值 當(dāng)調(diào)用成功時則返回0,若有錯誤則返回-1,errno會存放錯誤代碼。

附加說明 fseek()不像lseek()會返回讀寫位置,因此必須使用ftell()來取得目前讀寫的位置。

范例

復(fù)制代碼代碼如下:

#includestdio.h

main()

{

FILE * stream;

long offset;

fpos_t pos;

stream=fopen(“/etc/passwd”,”r”);

fseek(stream,5,SEEK_SET);

printf(“offset=%d/n”,ftell(stream));

rewind(stream);

fgetpos(stream,pos);

printf(“offset=%d/n”,pos);

pos=10;

fsetpos(stream,pos);

printf(“offset = %d/n”,ftell(stream));

fclose(stream);

}

執(zhí)行 offset = 5

offset =0

offset=10

16.ftell(取得文件流的讀取位置)

相關(guān)函數(shù) fseek,rewind,fgetpos,fsetpos

表頭文件 #includestdio.h

定義函數(shù) long ftell(FILE * stream);

函數(shù)說明 ftell()用來取得文件流目前的讀寫位置。參數(shù)stream為已打開的文件指針。

返回值 當(dāng)調(diào)用成功時則返回目前的讀寫位置,若有錯誤則返回-1,errno會存放錯誤代碼。

錯誤代碼 EBADF 參數(shù)stream無效或可移動讀寫位置的文件流。

范例 參考fseek()。

17.fwrite(將數(shù)據(jù)寫至文件流)

相關(guān)函數(shù) fopen,fread,fseek,fscanf

表頭文件 #includestdio.h

定義函數(shù) size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream);

函數(shù)說明 fwrite()用來將數(shù)據(jù)寫入文件流中。參數(shù)stream為已打開的文件指針,參數(shù)ptr 指向欲寫入的數(shù)據(jù)地址,總共寫入的字符數(shù)以參數(shù)size*nmemb來決定。Fwrite()會返回實(shí)際寫入的nmemb數(shù)目。

返回值 返回實(shí)際寫入的nmemb數(shù)目。

范例

復(fù)制代碼代碼如下:

#includestdio.h

#define set_s (x,y) {strcoy(s[x].name,y);s[x].size=strlen(y);}

#define nmemb 3

struct test

{

char name[20];

int size;

}s[nmemb];

main()

{

FILE * stream;

set_s(0,”Linux!”);

set_s(1,”FreeBSD!”);

set_s(2,”Windows2000.”);

stream=fopen(“/tmp/fwrite”,”w”);

fwrite(s,sizeof(struct test),nmemb,stream);

fclose(stream);

}

執(zhí)行 參考fread()。

18.getc(由文件中讀取一個字符)

相關(guān)函數(shù) read,fopen,fread,fgetc

表頭文件 #includestdio.h

定義函數(shù) int getc(FILE * stream);

函數(shù)說明 getc()用來從參數(shù)stream所指的文件中讀取一個字符。若讀到文件尾而無數(shù)據(jù)時便返回EOF。雖然getc()與fgetc()作用相同,但getc()為宏定義,非真正的函數(shù)調(diào)用。

返回值 getc()會返回讀取到的字符,若返回EOF則表示到了文件尾。

范例 參考fgetc()。

19.getchar(由標(biāo)準(zhǔn)輸入設(shè)備內(nèi)讀進(jìn)一字符)

相關(guān)函數(shù) fopen,fread,fscanf,getc

表頭文件 #includestdio.h

定義函數(shù) int getchar(void);

函數(shù)說明 getchar()用來從標(biāo)準(zhǔn)輸入設(shè)備中讀取一個字符。然后將該字符從unsigned char轉(zhuǎn)換成int后返回。

返回值 getchar()會返回讀取到的字符,若返回EOF則表示有錯誤發(fā)生。

附加說明 getchar()非真正函數(shù),而是getc(stdin)宏定義。

范例

復(fù)制代碼代碼如下:

#includestdio.h

main()

{

FILE * fp;

int c,i;

for(i=0li5;i++)

{

c=getchar();

putchar(c);

}

}

執(zhí)行 1234 /*輸入*/

1234 /*輸出*/

20.gets(由標(biāo)準(zhǔn)輸入設(shè)備內(nèi)讀進(jìn)一字符串)

相關(guān)函數(shù) fopen,fread,fscanf,fgets

表頭文件 #includestdio.h

定義函數(shù) char * gets(char *s);

函數(shù)說明 gets()用來從標(biāo)準(zhǔn)設(shè)備讀入字符并存到參數(shù)s所指的內(nèi)存空間,直到出現(xiàn)換行字符或讀到文件尾為止,最后加上NULL作為字符串結(jié)束。

返回值 gets()若成功則返回s指針,返回NULL則表示有錯誤發(fā)生。

附加說明 由于gets()無法知道字符串s的大小,必須遇到換行字符或文件尾才會結(jié)束輸入,因此容易造成緩沖溢出的安全性問題。建議使用fgets()取代。

范例 參考fgets()

21.mktemp(產(chǎn)生唯一的臨時文件名)

相關(guān)函數(shù) tmpfile

表頭文件 #includestdlib.h

定義函數(shù) char * mktemp(char * template);

函數(shù)說明 mktemp()用來產(chǎn)生唯一的臨時文件名。參數(shù)template所指的文件名稱字符串中最后六個字符必須是XXXXXX。產(chǎn)生后的文件名會借字符串指針返回。

返回值 文件順利打開后,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,并把錯誤代碼存在errno中。

附加說明 參數(shù)template所指的文件名稱字符串必須聲明為數(shù)組,如:

char template[ ]=”template-XXXXXX”;

不可用char * template=”template-XXXXXX”;

范例

復(fù)制代碼代碼如下:

#includestdlib.h

main()

{

char template[ ]=”template-XXXXXX”;

mktemp(template);

printf(“template=%s/n”,template);

}

22.putc(將一指定字符寫入文件中)

相關(guān)函數(shù) fopen,fwrite,fscanf,fputc

表頭文件 #includestdio.h

定義函數(shù) int putc(int c,FILE * stream);

函數(shù)說明 putc()會將參數(shù)c轉(zhuǎn)為unsigned char后寫入?yún)?shù)stream指定的文件中。雖然putc()與fputc()作用相同,但putc()為宏定義,非真正的函數(shù)調(diào)用。

返回值 putc()會返回寫入成功的字符,即參數(shù)c。若返回EOF則代表寫入失敗。

范例 參考fputc()。

23.putchar(將指定的字符寫到標(biāo)準(zhǔn)輸出設(shè)備)

相關(guān)函數(shù) fopen,fwrite,fscanf,fputc

表頭文件 #includestdio.h

定義函數(shù) int putchar (int c);

函數(shù)說明 putchar()用來將參數(shù)c字符寫到標(biāo)準(zhǔn)輸出設(shè)備。

返回值 putchar()會返回輸出成功的字符,即參數(shù)c。若返回EOF則代表輸出失敗。

附加說明 putchar()非真正函數(shù),而是putc(c,stdout)宏定義。

范例 參考getchar()。

24.rewind(重設(shè)文件流的讀寫位置為文件開頭)

相關(guān)函數(shù) fseek,ftell,fgetpos,fsetpos

表頭文件 #includestdio.h

定義函數(shù) void rewind(FILE * stream);

函數(shù)說明 rewind()用來把文件流的讀寫位置移至文件開頭。參數(shù)stream為已打開的文件指針。此函數(shù)相當(dāng)于調(diào)用fseek(stream,0,SEEK_SET)。

返回值

范例 參考fseek()

25.setbuf(設(shè)置文件流的緩沖區(qū))

相關(guān)函數(shù) setbuffer,setlinebuf,setvbuf

表頭文件 #includestdio.h

定義函數(shù) void setbuf(FILE * stream,char * buf);

函數(shù)說明 在打開文件流后,讀取內(nèi)容之前,調(diào)用setbuf()可以用來設(shè)置文件流的緩沖區(qū)。參數(shù)stream為指定的文件流,參數(shù)buf指向自定的緩沖區(qū)起始地址。如果參數(shù)buf為NULL指針,則為無緩沖IO。Setbuf()相當(dāng)于調(diào)用:setvbuf(stream,buf,buf?_IOFBF:_IONBF,BUFSIZ)

返回值

26.setbuffer(設(shè)置文件流的緩沖區(qū))

相關(guān)函數(shù) setlinebuf,setbuf,setvbuf

表頭文件 #includestdio.h

定義函數(shù) void setbuffer(FILE * stream,char * buf,size_t size);

函數(shù)說明 在打開文件流后,讀取內(nèi)容之前,調(diào)用setbuffer()可用來設(shè)置文件流的緩沖區(qū)。參數(shù)stream為指定的文件流,參數(shù)buf指向自定的緩沖區(qū)起始地址,參數(shù)size為緩沖區(qū)大小。

返回值

27.setlinebuf(設(shè)置文件流為線性緩沖區(qū))

相關(guān)函數(shù) setbuffer,setbuf,setvbuf

表頭文件 #includestdio.h

定義函數(shù) void setlinebuf(FILE * stream);

函數(shù)說明 setlinebuf()用來設(shè)置文件流以換行為依據(jù)的無緩沖IO。相當(dāng)于調(diào)用:setvbuf(stream,(char * )NULL,_IOLBF,0);請參考setvbuf()。

返回值

28.setvbuf(設(shè)置文件流的緩沖區(qū))

相關(guān)函數(shù) setbuffer,setlinebuf,setbuf

表頭文件 #includestdio.h

定義函數(shù) int setvbuf(FILE * stream,char * buf,int mode,size_t size);

函數(shù)說明 在打開文件流后,讀取內(nèi)容之前,調(diào)用setvbuf()可以用來設(shè)置文件流的緩沖區(qū)。參數(shù)stream為指定的文件流,參數(shù)buf指向自定的緩沖區(qū)起始地址,參數(shù)size為緩沖區(qū)大小,參數(shù)mode有下列幾種

_IONBF 無緩沖IO

_IOLBF 以換行為依據(jù)的無緩沖IO

_IOFBF 完全無緩沖IO。如果參數(shù)buf為NULL指針,則為無緩沖IO。

返回值

29.ungetc(將指定字符寫回文件流中)

相關(guān)函數(shù) fputc,getchar,getc

表頭文件 #includestdio.h

定義函數(shù) int ungetc(int c,FILE * stream);

函數(shù)說明 ungetc()將參數(shù)c字符寫回參數(shù)stream所指定的文件流。這個寫回的字符會由下一個讀取文件流的函數(shù)取得。

返回值 成功則返回c 字符,若有錯誤則返回EOF。

復(fù)制代碼代碼如下:

#include stdio.h

#include stdlib.h

int main()

{

FILE *fp = NULL;

char* str;

char re;

int num = 10;

str = (char*)malloc(100);

//snprintf(str, 10,"test: %s", "0123456789012345678");

// printf("str=%s\n", str);

fp = fopen("/local/test.c","a+");

if (fp==NULL){

printf("Fail to open file\n");

}

// ? ? fseek(fp,-1,SEEK_END);

num = ftell(fp);

printf("test file long:%d\n",num);

fscanf(fp,"%s",str);

printf("str = %s\n",str);

printf("test a: %s\n",str);

while ((re=getc(fp))!=EOF){//getc可以用作fgetc用

printf("%c",re);

}

//fread(str,10,10,fp);

fgets(str,100,fp);

printf("test a: %s\n",str);

sprintf(str,"xiewei test is:%s", "ABCDEFGHIGKMNI");

printf("str2=%s\n", str);

// ?fprintf(fp,"%s\n",str);

fwrite(str,2,10,fp);

num = ftell(fp);

if(str!=NULL){

free(str);

}

fclose(fp);

return 0;

}

c語言的stdio.h里面包含哪些函數(shù)?能將所有的列舉出來嗎?

1 int fclose(FILE *stream)

關(guān)閉流 stream。刷新所有的緩沖區(qū)。

2 void clearerr(FILE *stream)

清除給定流 stream 的文件結(jié)束和錯誤標(biāo)識符。

3 int feof(FILE *stream)

測試給定流 stream 的文件結(jié)束標(biāo)識符。

4 int ferror(FILE *stream)

測試給定流 stream 的錯誤標(biāo)識符。

5 int fflush(FILE *stream)

刷新流 stream 的輸出緩沖區(qū)。

6 int fgetpos(FILE *stream, fpos_t *pos)

獲取流 stream 的當(dāng)前文件位置,并把它寫入到 pos。

7 FILE *fopen(const char *filename, const char *mode)

使用給定的模式 mode 打開 filename 所指向的文件。

8 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)

從給定流 stream 讀取數(shù)據(jù)到 ptr 所指向的數(shù)組中。

9 FILE *freopen(const char *filename, const char *mode, FILE *stream)

把一個新的文件名 filename 與給定的打開的流 stream 關(guān)聯(lián),同時關(guān)閉流中的舊文件。

10 int fseek(FILE *stream, long int offset, int whence)

設(shè)置流 stream 的文件位置為給定的偏移 offset,參數(shù) offset 意味著從給定的 whence 位置查找的字節(jié)數(shù)。

11 int fsetpos(FILE *stream, const fpos_t *pos)

設(shè)置給定流 stream 的文件位置為給定的位置。參數(shù) pos 是由函數(shù) fgetpos 給定的位置。

12 long int ftell(FILE *stream)

返回給定流 stream 的當(dāng)前文件位置。

13 size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)

把 ptr 所指向的數(shù)組中的數(shù)據(jù)寫入到給定流 stream 中。

14 int remove(const char *filename)

刪除給定的文件名 filename,以便它不再被訪問。

15 int rename(const char *old_filename, const char *new_filename)

把 old_filename 所指向的文件名改為 new_filename。

16 void rewind(FILE *stream)

設(shè)置文件位置為給定流 stream 的文件的開頭。

17 void setbuf(FILE *stream, char *buffer)

定義流 stream 應(yīng)如何緩沖。

18 int setvbuf(FILE *stream, char *buffer, int mode, size_t size)

另一個定義流 stream 應(yīng)如何緩沖的函數(shù)。

19 FILE *tmpfile(void)

以二進(jìn)制更新模式(wb+)創(chuàng)建臨時文件。

20 char *tmpnam(char *str)

生成并返回一個有效的臨時文件名,該文件名之前是不存在的。

21 int fprintf(FILE *stream, const char *format, ...)

發(fā)送格式化輸出到流 stream 中。

22 int printf(const char *format, ...)

發(fā)送格式化輸出到標(biāo)準(zhǔn)輸出 stdout。

23 int sprintf(char *str, const char *format, ...)

發(fā)送格式化輸出到字符串。

24 int vfprintf(FILE *stream, const char *format, va_list arg)

使用參數(shù)列表發(fā)送格式化輸出到流 stream 中。

25 int vprintf(const char *format, va_list arg)

使用參數(shù)列表發(fā)送格式化輸出到標(biāo)準(zhǔn)輸出 stdout。

26 int vsprintf(char *str, const char *format, va_list arg)

使用參數(shù)列表發(fā)送格式化輸出到字符串。

27 int fscanf(FILE *stream, const char *format, ...)

從流 stream 讀取格式化輸入。

28 int scanf(const char *format, ...)

從標(biāo)準(zhǔn)輸入 stdin 讀取格式化輸入。

29 int sscanf(const char *str, const char *format, ...)

從字符串讀取格式化輸入。

30 int fgetc(FILE *stream)

從指定的流 stream 獲取下一個字符(一個無符號字符),并把位置標(biāo)識符往前移動。

31 char *fgets(char *str, int n, FILE *stream)

從指定的流 stream 讀取一行,并把它存儲在 str 所指向的字符串內(nèi)。當(dāng)讀取 (n-1) 個字符時,或者讀取到換行符時,或者到達(dá)文件末尾時,它會停止,具體視情況而定。

32 int fputc(int char, FILE *stream)

把參數(shù) char 指定的字符(一個無符號字符)寫入到指定的流 stream 中,并把位置標(biāo)識符往前移動。

33 int fputs(const char *str, FILE *stream)

把字符串寫入到指定的流 stream 中,但不包括空字符。

34 int getc(FILE *stream)

從指定的流 stream 獲取下一個字符(一個無符號字符),并把位置標(biāo)識符往前移動。

35 int getchar(void)

從標(biāo)準(zhǔn)輸入 stdin 獲取一個字符(一個無符號字符)。

36 char *gets(char *str)

從標(biāo)準(zhǔn)輸入 stdin 讀取一行,并把它存儲在 str 所指向的字符串中。當(dāng)讀取到換行符時,或者到達(dá)文件末尾時,它會停止,具體視情況而定。

37 int putc(int char, FILE *stream)

把參數(shù) char 指定的字符(一個無符號字符)寫入到指定的流 stream 中,并把位置標(biāo)識符往前移動。

38 int putchar(int char)

把參數(shù) char 指定的字符(一個無符號字符)寫入到標(biāo)準(zhǔn)輸出 stdout 中。

39 int puts(const char *str)

把一個字符串寫入到標(biāo)準(zhǔn)輸出 stdout,直到空字符,但不包括空字符。換行符會被追加到輸出中。

40 int ungetc(int char, FILE *stream)

把字符 char(一個無符號字符)推入到指定的流 stream 中,以便它是下一個被讀取到的字符。

41 void perror(const char *str)

把一個描述性錯誤消息輸出到標(biāo)準(zhǔn)錯誤 stderr。首先輸出字符串 str,后跟一個冒號,然后是一個空格。

C語言中各種函數(shù)的具體作用,要詳細(xì)點(diǎn)的

字符處理函數(shù)

本類別函數(shù)用于對單個字符進(jìn)行處理,包括字符的類別測試和字符的大小寫轉(zhuǎn)換

頭文件 ctype.h

函數(shù)列表

函數(shù)類別 函數(shù)用途 詳細(xì)說明

字符測試 是否字母和數(shù)字 isalnum

是否字母 isalpha

是否控制字符 iscntrl

是否數(shù)字 isdigit

是否可顯示字符(除空格外) isgraph

是否可顯示字符(包括空格) isprint

是否既不是空格,又不是字母和數(shù)字的可顯示字符 ispunct

是否空格 isspace

是否大寫字母 isupper

是否16進(jìn)制數(shù)字(0-9,A-F)字符 isxdigit

字符大小寫轉(zhuǎn)換函數(shù) 轉(zhuǎn)換為大寫字母 toupper

轉(zhuǎn)換為小寫字母 tolower

地區(qū)化

本類別的函數(shù)用于處理不同國家的語言差異。

頭文件 local.h

函數(shù)列表

函數(shù)類別 函數(shù)用途 詳細(xì)說明

地區(qū)控制 地區(qū)設(shè)置 setlocale

數(shù)字格式約定查詢 國家的貨幣、日期、時間等的格式轉(zhuǎn)換 localeconv

數(shù)學(xué)函數(shù)

本分類給出了各種數(shù)學(xué)計算函數(shù),必須提醒的是ANSI C標(biāo)準(zhǔn)中的數(shù)據(jù)格式并不符合IEEE754標(biāo)準(zhǔn),一些C語言編譯器卻遵循IEEE754(例如frinklin C51)

頭文件 math.h

函數(shù)列表

函數(shù)類別 函數(shù)用途 詳細(xì)說明

錯誤條件處理 定義域錯誤(函數(shù)的輸入?yún)?shù)值不在規(guī)定的范圍內(nèi))

值域錯誤(函數(shù)的返回值不在規(guī)定的范圍內(nèi))

三角函數(shù) 反余弦 acos

反正弦 asin

反正切 atan

反正切2 atan2

余弦 cos

正弦 sin

正切 tan

雙曲函數(shù) 雙曲余弦 cosh

雙曲正弦 sinh

雙曲正切 tanh

指數(shù)和對數(shù) 指數(shù)函數(shù) exp

指數(shù)分解函數(shù) frexp

乘積指數(shù)函數(shù) fdexp

自然對數(shù) log

以10為底的對數(shù) log10

浮點(diǎn)數(shù)分解函數(shù) modf

冪函數(shù) 冪函數(shù) pow

平方根函數(shù) sqrt

整數(shù)截斷,絕對值和求余數(shù)函數(shù) 求下限接近整數(shù) ceil

絕對值 fabs

求上限接近整數(shù) floor

求余數(shù) fmod

本分類函數(shù)用于實(shí)現(xiàn)在不同底函數(shù)之間直接跳轉(zhuǎn)代碼。 頭文件 setjmp.h io.h

函數(shù)列表

函數(shù)類別 函數(shù)用途 詳細(xì)說明

保存調(diào)用環(huán)境 setjmp

恢復(fù)調(diào)用環(huán)境 longjmp

信號處理

該分類函數(shù)用于處理那些在程序執(zhí)行過程中發(fā)生例外的情況。

頭文件 signal.h

函數(shù)列表

函數(shù)類別 函數(shù)用途 詳細(xì)說明

指定信號處理函數(shù) signal

發(fā)送信號 raise

可變參數(shù)處理

本類函數(shù)用于實(shí)現(xiàn)諸如printf,scanf等參數(shù)數(shù)量可變底函數(shù)。

頭文件 stdarg.h

函數(shù)列表

函數(shù)類別 函數(shù)用途 詳細(xì)說明

可變參數(shù)訪問宏 可變參數(shù)開始宏 va_start

可變參數(shù)結(jié)束宏 va_end

可變參數(shù)訪問宏 訪問下一個可變參數(shù)宏 va_arg

輸入輸出函數(shù)

該分類用于處理包括文件、控制臺等各種輸入輸出設(shè)備,各種函數(shù)以“流”的方式實(shí)現(xiàn)

頭文件 stdio.h

函數(shù)列表

函數(shù)類別 函數(shù)用途 詳細(xì)說明

文件操作

刪除文件 remove

修改文件名稱 rename

生成臨時文件名稱 tmpfile

得到臨時文件路徑 tmpnam

文件訪問 關(guān)閉文件 fclose

刷新緩沖區(qū) fflush

打開文件 fopen

將已存在的流指針和新文件連接 freopen

設(shè)置磁盤緩沖區(qū) setbuf

設(shè)置磁盤緩沖區(qū) setvbuf

格式化輸入與輸出函數(shù) 格式輸出 fprintf

格式輸入 fscanf

格式輸出(控制臺) printf

格式輸入(控制臺) scanf

格式輸出到緩沖區(qū) sprintf

從緩沖區(qū)中按格式輸入 sscanf

格式化輸出 vfprintf

格式化輸出 vprintf

格式化輸出 vsprintf

字符輸入輸出函數(shù) 輸入一個字符 fgetc

字符串輸入 fgets

字符輸出 fputc

字符串輸出 fputs

字符輸入(控制臺) getc

字符輸入(控制臺) getchar

字符串輸入(控制臺) gets

字符輸出(控制臺) putc

字符輸出(控制臺) putchar

字符串輸出(控制臺) puts

字符輸出到流的頭部 ungetc

直接輸入輸出 直接流讀操作 fread

直接流寫操作 fwrite

文件定位函數(shù) 得到文件位置 fgetpos

文件位置移動 fseek

文件位置設(shè)置 fsetpos

得到文件位置 ftell

文件位置復(fù)零位 remind

錯誤處理函數(shù) 錯誤清除 clearerr

文件結(jié)尾判斷 feof

文件錯誤檢測 ferror

得到錯誤提示字符串 perror

實(shí)用工具函數(shù)

本分類給出了一些函數(shù)無法按以上分類,但又是編程所必須要的。

頭文件 stdlib.h

函數(shù)列表

函數(shù)類別 函數(shù)用途 詳細(xì)說明

字符串轉(zhuǎn)換函數(shù) 字符串轉(zhuǎn)換為整數(shù) atoi

字符串轉(zhuǎn)換為長整數(shù) atol

字符串轉(zhuǎn)換為浮點(diǎn)數(shù) strtod

字符串轉(zhuǎn)換為長整數(shù) strtol

字符串轉(zhuǎn)換為無符號長整型 strtoul

偽隨機(jī)序列產(chǎn)生函數(shù) 產(chǎn)生隨機(jī)數(shù) rand

設(shè)置隨機(jī)函數(shù)的起動數(shù)值 srand

存儲管理函數(shù) 分配存儲器 calloc

釋放存儲器 free

存儲器分配 malloc

重新分配存儲器 realloc

環(huán)境通信 中止程序 abort

退出程序執(zhí)行,并清除環(huán)境變量 atexit

退出程序執(zhí)行 exit

讀取環(huán)境參數(shù) getenv

程序掛起,臨時執(zhí)行一個其他程序 system

搜索和排序工具 二分查找(數(shù)據(jù)必須已排序) bsearch

快速排序 qsort

整數(shù)運(yùn)算函數(shù) 求絕對值 abs

div

得到除法運(yùn)算底商和余數(shù)

求長整形底絕對值 labs

求長整形除法的商和余數(shù) ldiv

多字節(jié)字符函數(shù) 得到多字節(jié)字符的字節(jié)數(shù) mblen

得到多字節(jié)字符的字節(jié)數(shù) mbtowc

多字節(jié)字符轉(zhuǎn)換 wctomb

多字節(jié)字符的字符串操作 將多字節(jié)串轉(zhuǎn)換為整數(shù)數(shù)組 mbstowcs

將多字節(jié)串轉(zhuǎn)換為字符數(shù)組 mcstowbs

字符串處理

本分類的函數(shù)用于對字符串進(jìn)行合并、比較等操作

頭文件 string.h

函數(shù)列表

函數(shù)類別 函數(shù)用途 詳細(xì)說明

字符串拷貝 塊拷貝(目的和源存儲區(qū)不可重疊) memcpy

塊拷貝(目的和源存儲區(qū)可重疊) memmove

串拷貝 strcpy

按長度的串拷貝 strncpy

字符串連接函數(shù) 串連接 strcat

按長度連接字符串 strncat

串比較函數(shù) 塊比較 memcmp

字符串比較 strcmp

字符串比較(用于非英文字符) strcoll

按長度對字符串比較 strncmp

字符串轉(zhuǎn)換 strxfrm

字符與字符串查找 字符查找 memchr

字符查找 strchr

字符串查找 strcspn

字符串查找 strpbrk

字符串查找 strspn

字符串查找 strstr

字符串分解 strtok

雜類函數(shù) 字符串設(shè)置 memset

錯誤字符串映射 strerror

求字符串長度 strlen

日期和時間函數(shù)

本類別給出時間和日期處理函數(shù)

頭文件 time.h

函數(shù)列表

函數(shù)類別 函數(shù)用途 詳細(xì)說明

時間操作函數(shù) 得到處理器時間 clock

得到時間差 difftime

設(shè)置時間 mktime

得到時間 time

時間轉(zhuǎn)換函數(shù) 得到以ASCII碼表示的時間 asctime

得到字符串表示的時間 ctime

得到指定格式的時間 strftime

函數(shù)庫未來的發(fā)展方向

本部分用于說明各類別函數(shù)庫在將來如何發(fā)展。

序號 庫類別 頭文件 詳細(xì)說明

1 錯誤處理 errno.h

2 字符處理 ctype.h

3 地區(qū)化 local.h

4 數(shù)學(xué)函數(shù) math.h

5 信號處理 signal.h

6 輸入輸出 stdio.h

7 實(shí)用工具程序 stdlib.h

8 字符串處理 string.h


網(wǎng)站標(biāo)題:c語言setbuf函數(shù) c setbuf
當(dāng)前路徑:http://weahome.cn/article/hghddi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部