想必你說(shuō)的是C語(yǔ)言?xún)?nèi)置的標(biāo)準(zhǔn)函數(shù)庫(kù)了
站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到東勝網(wǎng)站設(shè)計(jì)與東勝網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋東勝地區(qū)。
給你貼一下吧
想查閱更詳細(xì)信息可以到
下載到
分類(lèi)函數(shù),所在函數(shù)庫(kù)為ctype.h
int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否則返回0
int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或數(shù)字('0'-'9'),返回非0值,否則返回0
int isascii(int ch) 若ch是字符(ASCII碼中的0-127)返回非0值,否則返回0
int iscntrl(int ch) 若ch是作廢字符(0x7F)或普通控制字符(0x00-0x1F),返回非0值,否則返回0
int isdigit(int ch) 若ch是數(shù)字('0'-'9')返回非0值,否則返回0
int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否則返回0
int islower(int ch) 若ch是小寫(xiě)字母('a'-'z')返回非0值,否則返回0
int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否則返回0
int ispunct(int ch) 若ch是標(biāo)點(diǎn)字符(0x00-0x1F)返回非0值,否則返回0
int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回車(chē)符('\r'), 走紙換行('\f'),垂直制表符('\v'),換行符('\n'), 返回非0值,否則返回0
int isupper(int ch) 若ch是大寫(xiě)字母('A'-'Z')返回非0值,否則返回0
int isxdigit(int ch) 若ch是16進(jìn)制數(shù)('0'-'9','A'-'F','a'-'f')返回非0值, 否則返回0
int tolower(int ch) 若ch是大寫(xiě)字母('A'-'Z')返回相應(yīng)的小寫(xiě)字母('a'-'z')
int toupper(int ch) 若ch是小寫(xiě)字母('a'-'z')返回相應(yīng)的大寫(xiě)字母('A'-'Z')
數(shù)學(xué)函數(shù),所在函數(shù)庫(kù)為math.h、stdlib.h、string.h、float.h
int abs(int i) 返回整型參數(shù)i的絕對(duì)值
double cabs(struct complex znum) 返回復(fù)數(shù)znum的絕對(duì)值
double fabs(double x) 返回雙精度參數(shù)x的絕對(duì)值
long labs(long n) 返回長(zhǎng)整型參數(shù)n的絕對(duì)值
double exp(double x) 返回指數(shù)函數(shù)ex的值
double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存貯在eptr中
double ldexp(double value,int exp); 返回value*2exp的值
double log(double x) 返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回xy的值
double pow10(int p) 返回10p的值
double sqrt(double x) 返回x的開(kāi)方
double acos(double x) 返回x的反余弦cos-1(x)值,x為弧度
double asin(double x) 返回x的反正弦sin-1(x)值,x為弧度
double atan(double x) 返回x的反正切tan-1(x)值,x為弧度
double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x為弧度
double cos(double x) 返回x的余弦cos(x)值,x為弧度
double sin(double x) 返回x的正弦sin(x)值,x為弧度
double tan(double x) 返回x的正切tan(x)值,x為弧度
double cosh(double x) 返回x的雙曲余弦cosh(x)值,x為弧度
double sinh(double x) 返回x的雙曲正弦sinh(x)值,x為弧度
double tanh(double x) 返回x的雙曲正切tanh(x)值,x為弧度
double hypot(double x,double y) 返回直角三角形斜邊的長(zhǎng)度(z), x和y為直角邊的長(zhǎng)度,z2=x2+y2
double ceil(double x) 返回不小于x的最小整數(shù)
double floor(double x) 返回不大于x的最大整數(shù)
void srand(unsigned seed) 初始化隨機(jī)數(shù)發(fā)生器
int rand() 產(chǎn)生一個(gè)隨機(jī)數(shù)并返回這個(gè)數(shù)
double poly(double x,int n,double c[]) 從參數(shù)產(chǎn)生一個(gè)多項(xiàng)式
double modf(double value,double *iptr) 將雙精度數(shù)value分解成尾數(shù)和階
double fmod(double x,double y) 返回x/y的余數(shù)
double frexp(double value,int *eptr) 將雙精度數(shù)value分成尾數(shù)和階
double atof(char *nptr) 將字符串nptr轉(zhuǎn)換成浮點(diǎn)數(shù)并返回這個(gè)浮點(diǎn)數(shù)
double atoi(char *nptr) 將字符串nptr轉(zhuǎn)換成整數(shù)并返回這個(gè)整數(shù)
double atol(char *nptr) 將字符串nptr轉(zhuǎn)換成長(zhǎng)整數(shù)并返回這個(gè)整數(shù)
char *ecvt(double value,int ndigit,int *decpt,int *sign)
將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串
char *fcvt(double value,int ndigit,int *decpt,int *sign)
將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串
char *gcvt(double value,int ndigit,char *buf)
將數(shù)value轉(zhuǎn)換成字符串并存于buf中,并返回buf的指針
char *ultoa(unsigned long value,char *string,int radix)
將無(wú)符號(hào)整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時(shí)所用基數(shù)
char *ltoa(long value,char *string,int radix)
將長(zhǎng)整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時(shí)所用基數(shù)
char *itoa(int value,char *string,int radix)
將整數(shù)value轉(zhuǎn)換成字符串存入string,radix為轉(zhuǎn)換時(shí)所用基數(shù)
double atof(char *nptr) 將字符串nptr轉(zhuǎn)換成雙精度數(shù),并返回這個(gè)數(shù),錯(cuò)誤返回0
int atoi(char *nptr) 將字符串nptr轉(zhuǎn)換成整型數(shù), 并返回這個(gè)數(shù),錯(cuò)誤返回0
long atol(char *nptr) 將字符串nptr轉(zhuǎn)換成長(zhǎng)整型數(shù),并返回這個(gè)數(shù),錯(cuò)誤返回0
double strtod(char *str,char **endptr)將字符串str轉(zhuǎn)換成雙精度數(shù),并返回這個(gè)數(shù),
long strtol(char *str,char **endptr,int base)將字符串str轉(zhuǎn)換成長(zhǎng)整型數(shù), 并返回這個(gè)數(shù),
int matherr(struct exception *e) 用戶(hù)修改數(shù)學(xué)錯(cuò)誤返回信息函數(shù)(沒(méi)有必要使用)
double _matherr(_mexcep why,char *fun,double *arg1p, double *arg2p,double retval)
用戶(hù)修改數(shù)學(xué)錯(cuò)誤返回信息函數(shù)(沒(méi)有必要使用)
unsigned int _clear87() 清除浮點(diǎn)狀態(tài)字并返回原來(lái)的浮點(diǎn)狀態(tài)
void _fpreset() 重新初使化浮點(diǎn)數(shù)學(xué)程序包
unsigned int _status87() 返回浮點(diǎn)狀態(tài)字
目錄函數(shù),所在函數(shù)庫(kù)為dir.h、dos.h
int chdir(char *path) 使指定的目錄path(如:"C:\\WPS")變成當(dāng)前的工作目錄,成功返回0
int findfirst(char *pathname,struct ffblk *ffblk,int attrib)
查找指定的文件,成功返回0
pathname為指定的目錄名和文件名,如"C:\\WPS\\TXT"
ffblk為指定的保存文件信息的一個(gè)結(jié)構(gòu),定義如下:
┏━━━━━━━━━━━━━━━━━━┓
┃struct ffblk ┃
┃{ ┃
┃ char ff_reserved[21]; /*DOS保留字*/┃
┃ char ff_attrib; /*文件屬性*/ ┃
┃ int ff_ftime; /*文件時(shí)間*/ ┃
┃ int ff_fdate; /*文件日期*/ ┃
┃ long ff_fsize; /*文件長(zhǎng)度*/ ┃
┃ char ff_name[13]; /*文件名*/ ┃
┃} ┃
┗━━━━━━━━━━━━━━━━━━┛
attrib為文件屬性,由以下字符代表
┏━━━━━━━━━┳━━━━━━━━┓
┃FA_RDONLY 只讀文件┃FA_LABEL 卷標(biāo)號(hào)┃
┃FA_HIDDEN 隱藏文件┃FA_DIREC 目錄 ┃
┃FA_SYSTEM 系統(tǒng)文件┃FA_ARCH 檔案 ┃
┗━━━━━━━━━┻━━━━━━━━┛
例:
struct ffblk ff;
findfirst("*.wps",ff,FA_RDONLY);
int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0
void fumerge(char *path,char *drive,char *dir,char *name,char *ext)
此函數(shù)通過(guò)盤(pán)符drive(C:、A:等), 路徑dir(\TC、\BC\LIB等), 文件名name(TC、WPS等),擴(kuò)展名ext(.EXE、.COM等)組成一個(gè)文件名存與path中.
int fnsplit(char *path,char *drive,char *dir,char *name,char *ext)
此函數(shù)將文件名path分解成盤(pán)符drive(C:、A:等), 路徑dir(\TC、\BC\LIB等), 文件名name(TC、WPS等),擴(kuò)展名ext(.EXE、.COM等),并分別存入相應(yīng)的變量中.
int getcurdir(int drive,char *direc)
此函數(shù)返回指定驅(qū)動(dòng)器的當(dāng)前工作目錄名稱(chēng)。成功返回0
drive 指定的驅(qū)動(dòng)器(0=當(dāng)前,1=A,2=B,3=C等)
direc 保存指定驅(qū)動(dòng)器當(dāng)前工作路徑的變量
char *getcwd(char *buf,iint n) 此函數(shù)取當(dāng)前工作目錄并存入buf中,直到n個(gè)字節(jié)長(zhǎng)為為止.錯(cuò)誤返回NULL
int getdisk() 取當(dāng)前正在使用的驅(qū)動(dòng)器,返回一個(gè)整數(shù)(0=A,1=B,2=C等)
int setdisk(int drive) 設(shè)置要使用的驅(qū)動(dòng)器drive(0=A,1=B,2=C等), 返回可使用驅(qū)動(dòng)器總數(shù)
int mkdir(char *pathname) 建立一個(gè)新的目錄pathname,成功返回0
int rmdir(char *pathname) 刪除一個(gè)目錄pathname,成功返回0
char *mktemp(char *template) 構(gòu)造一個(gè)當(dāng)前目錄上沒(méi)有的文件名并存于template中
char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路徑, 此函數(shù)使用DOS的PATH變量,未找到文件返回NULL
進(jìn)程函數(shù),所在函數(shù)庫(kù)為stdlib.h、process.h
void abort() 此函數(shù)通過(guò)調(diào)用具有出口代碼3的_exit寫(xiě)一個(gè)終止信息于stderr,并異常終止程序。無(wú)返回值
int exec…裝入和運(yùn)行其它程序
int execl(char *pathname,char *arg0,char *arg1,…,char *argn,NULL)
int execle(char *pathname,char *arg0,char *arg1,…, char *argn,NULL,char *envp[])
int execlp(char *pathname,char *arg0,char *arg1,…,NULL)
int execlpe(char *pathname,char *arg0,char *arg1,…,NULL,char *envp[])
int execv(char *pathname,char *argv[])
int execve(char *pathname,char *argv[],char *envp[])
int execvp(char *pathname,char *argv[])
int execvpe(char *pathname,char *argv[],char *envp[])
exec函數(shù)族裝入并運(yùn)行程序pathname,并將參數(shù)arg0(arg1,arg2,argv[],envp[])傳遞給子程序,出錯(cuò)返回-1。
在exec函數(shù)族中,后綴l、v、p、e添加到exec后,所指定的函數(shù)將具有某種操作能力。
有后綴 p時(shí),函數(shù)可以利用DOS的PATH變量查找子程序文件。
l時(shí),函數(shù)中被傳遞的參數(shù)個(gè)數(shù)固定。
v時(shí),函數(shù)中被傳遞的參數(shù)個(gè)數(shù)不固定。
e時(shí),函數(shù)傳遞指定參數(shù)envp,允許改變子進(jìn)程的環(huán)境,
無(wú)后綴 e時(shí),子進(jìn)程使用當(dāng)前程序的環(huán)境。
void _exit(int status) 終止當(dāng)前程序,但不清理現(xiàn)場(chǎng)
void exit(int status) 終止當(dāng)前程序,關(guān)閉所有文件,寫(xiě)緩沖區(qū)的輸出(等待輸出), 并調(diào)用任何寄存器的"出口函數(shù)",無(wú)返回值
int spawn…運(yùn)行子程序
int spawnl(int mode,char *pathname,char *arg0,char *arg1,…, char *argn,NULL)
int spawnle(int mode,char *pathname,char *arg0,char *arg1,…, char *argn,NULL,char *envp[])
int spawnlp(int mode,char *pathname,char *arg0,char *arg1,…, char *argn,NULL)
int spawnlpe(int mode,char *pathname,char *arg0,char *arg1,…, char *argn,NULL,char *envp[])
int spawnv(int mode,char *pathname,char *argv[])
int spawnve(int mode,char *pathname,char *argv[],char *envp[])
int spawnvp(int mode,char *pathname,char *argv[])
int spawnvpe(int mode,char *pathname,char *argv[],char *envp[])
spawn函數(shù)族在mode模式下運(yùn)行子程序pathname,并將參數(shù)arg0(arg1,arg2,argv[],envp[])傳遞給子程序.出錯(cuò)返回-1
mode為運(yùn)行模式:
mode為 P_WAIT 表示在子程序運(yùn)行完后返回本程序
P_NOWAIT 表示在子程序運(yùn)行時(shí)同時(shí)運(yùn)行本程序(不可用)
P_OVERLAY 表示在本程序退出后運(yùn)行子程序
在spawn函數(shù)族中,后綴l、v、p、e添加到spawn后,所指定的函數(shù)將具有某種操作能力
有后綴 p時(shí), 函數(shù)利用DOS的PATH查找子程序文件
l時(shí), 函數(shù)傳遞的參數(shù)個(gè)數(shù)固定.
v時(shí), 函數(shù)傳遞的參數(shù)個(gè)數(shù)不固定.
e時(shí), 指定參數(shù)envp可以傳遞給子程序,允許改變子程序運(yùn)行環(huán)境.
無(wú)后綴 e時(shí),子程序使用本程序的環(huán)境.
int system(char *command)
將MSDOS命令command傳遞給DOS執(zhí)行轉(zhuǎn)換子程序,函數(shù)庫(kù)為math.h、stdlib.h、ctype.h、float.h
char *ecvt(double value,int ndigit,int *decpt,int *sign)
將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串
char *fcvt(double value,int ndigit,int *decpt,int *sign)
將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串
char *gcvt(double value,int ndigit,char *buf)
將數(shù)value轉(zhuǎn)換成字符串并存于buf中,并返回buf的指針
char *ultoa(unsigned long value,char *string,int radix)
將無(wú)符號(hào)整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時(shí)所用基數(shù)
char *ltoa(long value,char *string,int radix)
將長(zhǎng)整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時(shí)所用基數(shù)
char *itoa(int value,char *string,int radix)
將整數(shù)value轉(zhuǎn)換成字符串存入string,radix為轉(zhuǎn)換時(shí)所用基數(shù)
double atof(char *nptr) 將字符串nptr轉(zhuǎn)換成雙精度數(shù),并返回這個(gè)數(shù),錯(cuò)誤返回0
int atoi(char *nptr) 將字符串nptr轉(zhuǎn)換成整型數(shù), 并返回這個(gè)數(shù),錯(cuò)誤返回0
long atol(char *nptr) 將字符串nptr轉(zhuǎn)換成長(zhǎng)整型數(shù),并返回這個(gè)數(shù),錯(cuò)誤返回0
double strtod(char *str,char **endptr)
將字符串str轉(zhuǎn)換成雙精度數(shù),并返回這個(gè)數(shù),
long strtol(char *str,char **endptr,int base)
將字符串str轉(zhuǎn)換成長(zhǎng)整型數(shù), 并返回這個(gè)數(shù),
int toascii(int c) 返回c相應(yīng)的ASCII
int tolower(int ch) 若ch是大寫(xiě)字母('A'-'Z')返回相應(yīng)的小寫(xiě)字母('a'- 'z')
int _tolower(int ch) 返回ch相應(yīng)的小寫(xiě)字母('a'-'z')
int toupper(int ch) 若ch是小寫(xiě)字母('a'-'z')返回相應(yīng)的大寫(xiě)字母('A'- 'Z')
int _toupper(int ch) 返回ch相應(yīng)的大寫(xiě)字母('A'-'Z')
診斷函數(shù),所在函數(shù)庫(kù)為assert.h、math.h
void assert(int test) 一個(gè)擴(kuò)展成if語(yǔ)句那樣的宏,如果test測(cè)試失敗,就顯示一個(gè)信息并異常終止程序,無(wú)返回值
void perror(char *string) 本函數(shù)將顯示最近一次的錯(cuò)誤信息,格式如:字符串string:錯(cuò)誤信息
char *strerror(char *str) 本函數(shù)返回最近一次的錯(cuò)誤信息,格式如: 字符串str:錯(cuò)誤信息
int matherr(struct exception *e)
用戶(hù)修改數(shù)學(xué)錯(cuò)誤返回信息函數(shù)(沒(méi)有必要使用)
double _matherr(_mexcep why,char *fun,double *arg1p, double *arg2p,double retval)
用戶(hù)修改數(shù)學(xué)錯(cuò)誤返回信息函數(shù)(沒(méi)有必要使用)
輸入輸出子程序, 函數(shù)庫(kù)為io.h、conio.h、stat.h、dos.h、stdio.h、signal.h
int kbhit() 本函數(shù)返回最近所敲的按鍵
int fgetchar() 從控制臺(tái)(鍵盤(pán))讀一個(gè)字符,顯示在屏幕上
int getch() 從控制臺(tái)(鍵盤(pán))讀一個(gè)字符,不顯示在屏幕上
int putch() 向控制臺(tái)(鍵盤(pán))寫(xiě)一個(gè)字符
int getchar() 從控制臺(tái)(鍵盤(pán))讀一個(gè)字符,顯示在屏幕上
int putchar() 向控制臺(tái)(鍵盤(pán))寫(xiě)一個(gè)字符
int getche() 從控制臺(tái)(鍵盤(pán))讀一個(gè)字符,顯示在屏幕上
int ungetch(int c) 把字符c退回給控制臺(tái)(鍵盤(pán))
char *cgets(char *string) 從控制臺(tái)(鍵盤(pán))讀入字符串存于string中
int scanf(char *format[,argument…])
從控制臺(tái)讀入一個(gè)字符串,分別對(duì)各個(gè)參數(shù)進(jìn)行賦值,使用BIOS進(jìn)行輸出
int vscanf(char *format,Valist param)
從控制臺(tái)讀入一個(gè)字符串,分別對(duì)各個(gè)參數(shù)進(jìn)行賦值,使用BIOS進(jìn)行輸出,參數(shù)從Valist param中取得
int cscanf(char *format[,argument…])
從控制臺(tái)讀入一個(gè)字符串,分別對(duì)各個(gè)參數(shù)進(jìn)行賦值,直接對(duì)控制臺(tái)作操作,比如顯示器在顯示時(shí)字符時(shí)即為直接寫(xiě)頻方式顯示
int sscanf(char *string,char *format[,argument,…])
通過(guò)字符串string, 分別對(duì)各個(gè)參數(shù)進(jìn)行賦值
int vsscanf(char *string,char *format,Vlist param)
通過(guò)字符串string,分別對(duì)各個(gè)參數(shù)進(jìn)行賦值,參數(shù)從Vlist param中取得
int puts(char *string) 發(fā)關(guān)一個(gè)字符串string給控制臺(tái)(顯示器), 使用BIOS進(jìn)行輸出
void cputs(char *string) 發(fā)送一個(gè)字符串string給控制臺(tái)(顯示器), 直接對(duì)控制臺(tái)作操作,比如顯示器即為直接寫(xiě)頻方式顯示
int printf(char *format[,argument,…])
發(fā)送格式化字符串輸出給控制臺(tái)(顯示器),使用BIOS進(jìn)行輸出
int vprintf(char *format,Valist param)
發(fā)送格式化字符串輸出給控制臺(tái)(顯示器),使用BIOS進(jìn)行輸出,參數(shù)從Valist param中取得
int cprintf(char *format[,argument,…])
發(fā)送格式化字符串輸出給控制臺(tái)(顯示器), 直接對(duì)控制臺(tái)作操作,比如顯示器即為直接寫(xiě)頻方式顯示
int vcprintf(char *format,Valist param)
發(fā)送格式化字符串輸出給控制臺(tái)(顯示器), 直接對(duì)控制臺(tái)作操作,比如顯示器即為直接寫(xiě)頻方式顯示, 參數(shù)從Valist param中取得
int sprintf(char *string,char *format[,argument,…])
將字符串string的內(nèi)容重新寫(xiě)為格式化后的字符串
int vsprintf(char *string,char *format,Valist param)
將字符串string的內(nèi)容重新寫(xiě)為格式化后的字符串,參數(shù)從Valist param中取得
int rename(char *oldname,char *newname)將文件oldname的名稱(chēng)改為newname
int ioctl(int handle,int cmd[,int *argdx,int argcx])
本函數(shù)是用來(lái)控制輸入/輸出設(shè)備的,請(qǐng)見(jiàn)下表:
┌———┬————————————————————————————┐
│cmd值 │功能 │
├———┼————————————————————————————┤
│ 0 │取出設(shè)備信息 │
│ 1 │設(shè)置設(shè)備信息 │
│ 2 │把a(bǔ)rgcx字節(jié)讀入由argdx所指的地址 │
│ 3 │在argdx所指的地址寫(xiě)argcx字節(jié) │
│ 4 │除把handle當(dāng)作設(shè)備號(hào)(0=當(dāng)前,1=A,等)之外,均和cmd=2時(shí)一樣 │
│ 5 │除把handle當(dāng)作設(shè)備號(hào)(0=當(dāng)前,1=A,等)之外,均和cmd=3時(shí)一樣 │
│ 6 │取輸入狀態(tài) │
│ 7 │取輸出狀態(tài) │
│ 8 │測(cè)試可換性;只對(duì)于DOS 3.x │
│ 11 │置分享沖突的重算計(jì)數(shù);只對(duì)DOS 3.x │
└———┴————————————————————————————┘
int (*ssignal(int sig,int(*action)())() 執(zhí)行軟件信號(hào)(沒(méi)必要使用)
int gsignal(int sig) 執(zhí)行軟件信號(hào)(沒(méi)必要使用)
int _open(char *pathname,int access)為讀或?qū)懘蜷_(kāi)一個(gè)文件, 按后按access來(lái)確定是讀文件還是寫(xiě)文件,access值見(jiàn)下表
┌——————┬————————————————————┐
│access值 │意義 │
├——————┼————————————————————┤
│O_RDONLY │讀文件 │
│O_WRONLY │寫(xiě)文件 │
│O_RDWR │即讀也寫(xiě) │
│O_NOINHERIT │若文件沒(méi)有傳遞給子程序,則被包含 │
│O_DENYALL │只允許當(dāng)前處理必須存取的文件 │
│O_DENYWRITE │只允許從任何其它打開(kāi)的文件讀 │
│O_DENYREAD │只允許從任何其它打開(kāi)的文件寫(xiě) │
│O_DENYNONE │允許其它共享打開(kāi)的文件 │
└——————┴————————————————————┘
int open(char *pathname,int access[,int permiss])為讀或?qū)懘蜷_(kāi)一個(gè)文件, 按后按access來(lái)確定是讀文件還是寫(xiě)文件,access值見(jiàn)下表
┌————┬————————————————————┐
│access值│意義 │
├————┼————————————————————┤
│O_RDONLY│讀文件 │
│O_WRONLY│寫(xiě)文件 │
│O_RDWR │即讀也寫(xiě) │
│O_NDELAY│沒(méi)有使用;對(duì)UNIX系統(tǒng)兼容 │
│O_APPEND│即讀也寫(xiě),但每次寫(xiě)總是在文件尾添加 │
│O_CREAT │若文件存在,此標(biāo)志無(wú)用;若不存在,建新文件 │
│O_TRUNC │若文件存在,則長(zhǎng)度被截為0,屬性不變 │
│O_EXCL │未用;對(duì)UNIX系統(tǒng)兼容 │
│O_BINARY│此標(biāo)志可顯示地給出以二進(jìn)制方式打開(kāi)文件 │
│O_TEXT │此標(biāo)志可用于顯示地給出以文本方式打開(kāi)文件│
└————┴————————————————————┘
permiss為文件屬性,可為以下值:
S_IWRITE允許寫(xiě) S_IREAD允許讀 S_IREAD|S_IWRITE允許讀、寫(xiě)
int creat(char *filename,int permiss) 建立一個(gè)新文件filename,并設(shè)定讀寫(xiě)性。
permiss為文件讀寫(xiě)性,可以為以下值
S_IWRITE允許寫(xiě) S_IREAD允許讀 S_IREAD|S_IWRITE允許讀、寫(xiě)
int _creat(char *filename,int attrib) 建立一個(gè)新文件filename,并設(shè)定文件屬性。
attrib為文件屬性,可以為以下值
FA_RDONLY只讀 FA_HIDDEN隱藏 FA_SYSTEM系統(tǒng)
int creatnew(char *filenamt,int attrib) 建立一個(gè)新文件filename,并設(shè)定文件屬性。
attrib為文件屬性,可以為以下值
FA_RDONLY只讀 FA_HIDDEN隱藏 FA_SYSTEM系統(tǒng)
int creattemp(char *filenamt,int attrib) 建立一個(gè)新文件filename,并設(shè)定文件屬性。
attrib為文件屬性,可以為以下值
FA_RDONLY只讀 FA_HIDDEN隱藏 FA_SYSTEM系統(tǒng)
int read(int handle,void *buf,int nbyte) 從文件號(hào)為handle的文件中讀nbyte個(gè)字符存入buf中
int _read(int handle,void *buf,int nbyte) 從文件號(hào)為handle的文件中讀nbyte個(gè)字符存入buf中,直接調(diào)用MSDOS進(jìn)行操作.
int write(int handle,void *buf,int nbyte) 將buf中的nbyte個(gè)字符寫(xiě)入文件號(hào)為handle的文件中
int _write(int handle,void *buf,int nbyte) 將buf中的nbyte個(gè)字符寫(xiě)入文件號(hào)為handle的文件中
int dup(int handle) 復(fù)制一個(gè)文件處理指針handle,返回這個(gè)指針
int dup2(int handle,int newhandle) 復(fù)制一個(gè)文件處理指針handle到newhandle
int eof(int *handle) 檢查文件是否結(jié)束,結(jié)束返回1,否則返回0
long filelength(int handle) 返回文件長(zhǎng)度,handle為文件號(hào)
int setmode(int handle,unsigned mode)本函數(shù)用來(lái)設(shè)定文件號(hào)為handle的文件的打開(kāi)方式
int getftime(int handle,struct ftime *ftime)
讀取文件號(hào)為handle的文件的時(shí)間,并將文件時(shí)間存于ftime結(jié)構(gòu)中,成功返回0, ftime結(jié)構(gòu)如下:
┌—————————————————┐
│struct ftime │
│{ │
│ unsigned ft_tsec:5; /*秒*/ │
│ unsigned ft_min:6; /*分*/ │
│ unsigned ft_hour:5; /*時(shí)*/ │
│ unsigned ft_day:5; /*日*/ │
│ unsigned ft_month:4;/*月*/ │
│ unsigned ft_year:1; /*年-1980*/ │
│} │
└—————————————————┘
int setftime(int handle,struct ftime *ftime) 重寫(xiě)文件號(hào)為handle的文件時(shí)間,
新時(shí)間在結(jié)構(gòu)ftime中.成功返回0.結(jié)構(gòu)ftime如下:
┌—————————————————┐
│struct ftime │
│{ │
│ unsigned ft_tsec:5; /*秒*/ │
│ unsigned ft_min:6; /*分*/ │
│ unsigned ft_hour:5; /*時(shí)*/ │
│ unsigned ft_day:5; /*日*/ │
│ unsigned ft_month:4;/*月*/ │
│ unsigned ft_year:1; /*年-1980*/ │
│} │
└—————————————————┘
long lseek(int handle,long offset,int fromwhere)
本函數(shù)將文件號(hào)為handle的文件的指針移到fromwhere后的第offset個(gè)字節(jié)處.
SEEK_SET文件開(kāi)關(guān) SEEK_CUR當(dāng)前位置 SEEK_END文件尾
long tell(int handle) 本函數(shù)返回文件號(hào)為handle的文件指針,以字節(jié)表示
int isatty(int handle)本函數(shù)用來(lái)取設(shè)備handle的類(lèi)型
int lock(int handle,long offset,long length) 對(duì)文件共享作封鎖
int unlock(int handle,long offset,long length) 打開(kāi)對(duì)文件共享的封鎖
int close(int handle) 關(guān)閉handle所表示的文件處理,handle是從_creat、creat、
creatnew、creattemp、dup、dup2、_open、open中的一個(gè)處調(diào)用獲得的文件處理
成功返回0否則返回-1,可用于UNIX系統(tǒng)
int _close(int handle) 關(guān)閉handle所表示的文件處理,handle是從_creat、creat、
creatnew、creattemp、dup、dup2、_open、open中的一個(gè)處調(diào)用獲得的文件處理
成功返回0否則返回-1,只能用于MSDOS系統(tǒng)
FILE *fopen(char *filename,char *type) 打開(kāi)一個(gè)文件filename,打開(kāi)方式為type,
并返回這個(gè)文件指針,type可為以下字符串加上后綴
┌——┬————┬———————┬————————┐
│type│讀寫(xiě)性 │文本/2進(jìn)制文件│建新/打開(kāi)舊文件 │
├——┼————┼———————┼————————┤
│r │讀 │文本 │打開(kāi)舊的文件 │
│w │寫(xiě) │文本 │建新文件 │
│a │添加 │文本 │有就打開(kāi)無(wú)則建新│
│r+ │讀/寫(xiě) │不限制 │打開(kāi) │
│w+ │讀/寫(xiě) │不限制 │建新文件 │
│a+ │讀/添加 │不限制 │有就打開(kāi)無(wú)則建新│
└——┴————┴———————┴————————┘
可加的后綴為t、b。加b表示文件以二進(jìn)制形式進(jìn)行操作,t沒(méi)必要使用
例: ┌——————————————————┐
│#includestdio.h │
│main() │
│{ │
│ FILE *fp; │
│ fp=fopen("C:\\WPS\\WPS.EXE","r+b");│
└——————————————————┘
FILE *fdopen(int ahndle,char *type)
FILE *freopen(char *filename,char *type,FILE *stream)
int getc(FILE *stream) 從流stream中讀一個(gè)字符,并返回這個(gè)字符
int putc(int ch,FILE *stream) 向流stream寫(xiě)入一個(gè)字符ch
int getw(FILE *stream) 從流stream讀入一個(gè)整數(shù),錯(cuò)誤返回EOF
int putw(int w,FILE *stream) 向流stream寫(xiě)入一個(gè)整數(shù)
int ungetc(char c,FILE *stream) 把字符c退回給流stream,下一次讀進(jìn)的字符將是c
int fgetc(FILE *stream) 從流stream處讀一個(gè)字符,并返回這個(gè)字符
int fputc(int ch,FILE *stream) 將字符ch寫(xiě)入
C源程序是由函數(shù)組成的。
C程序是由一組或是變量或是函數(shù)的外部對(duì)象組的。 函數(shù)是一個(gè)自我包含的完成一定相關(guān)功能的執(zhí)行代碼段。
從函數(shù)定義的角度看,函數(shù)可分為庫(kù)函數(shù)和用戶(hù)定義函數(shù)兩種。
1)庫(kù)函數(shù)
由C系統(tǒng)提供,用戶(hù)無(wú)須定義, 也不必在程序中作類(lèi)型說(shuō)明,只需在程序前包含有該函數(shù)原型的頭文件即可在程序中直接調(diào)用。在前面各章的例題中反復(fù)用到printf 、 scanf 、 getchar 、putchar、gets、puts、strcat等函數(shù)均屬此類(lèi)。
(2)用戶(hù)定義函數(shù)
由用戶(hù)按需要寫(xiě)的函數(shù)。對(duì)于用戶(hù)自定義函數(shù), 不僅要在程序中定義函數(shù)本身, 而且在主調(diào)函數(shù)模塊中還必須對(duì)該被調(diào)函數(shù)進(jìn)行類(lèi)型說(shuō)明,然后才能使用。
2. C語(yǔ)言的函數(shù)兼有其它語(yǔ)言中的函數(shù)和過(guò)程兩種功能,從這個(gè)角度看,又可把函數(shù)分為有返回值函數(shù)和無(wú)返回值函數(shù)兩種。
(1)有返回值函數(shù)
此類(lèi)函數(shù)被調(diào)用執(zhí)行完后將向調(diào)用者返回一個(gè)執(zhí)行結(jié)果, 稱(chēng)為函數(shù)返回值。如數(shù)學(xué)函數(shù)即屬于此類(lèi)函數(shù)。 由用戶(hù)定義的這種要返回函數(shù)值的函數(shù),必須在函數(shù)定義和函數(shù)說(shuō)明中明確返回值的類(lèi)型。
(2)無(wú)返回值函數(shù)
此類(lèi)函數(shù)用于完成某項(xiàng)特定的處理任務(wù), 執(zhí)行完成后不向調(diào)用者返回函數(shù)值。這類(lèi)函數(shù)類(lèi)似于其它語(yǔ)言的過(guò)程。 由于函數(shù)無(wú)須返回值,用戶(hù)在定義此類(lèi)函數(shù)時(shí)可指定它的返回為“空類(lèi)型”, 空類(lèi)型的說(shuō)明符為“void”。
3. 從主調(diào)函數(shù)和被調(diào)函數(shù)之間數(shù)據(jù)傳送的角度看又可分為無(wú)參函數(shù)和有參函數(shù)兩種。
(1)無(wú)參函數(shù)
函數(shù)定義、函數(shù)說(shuō)明及函數(shù)調(diào)用中均不帶參數(shù)。 主調(diào)函數(shù)和被調(diào)函數(shù)之間不進(jìn)行參數(shù)傳送。 此類(lèi)函數(shù)通常用來(lái)完成一組指定的功能,可以返回或不返回函數(shù)值。
(2)有參函數(shù)
也稱(chēng)為帶參函數(shù)。在函數(shù)定義及函數(shù)說(shuō)明時(shí)都有參數(shù), 稱(chēng)為形式參數(shù)(簡(jiǎn)稱(chēng)為形參)。在函數(shù)調(diào)用時(shí)也必須給出參數(shù), 稱(chēng)為實(shí)際參數(shù)(簡(jiǎn)稱(chēng)為實(shí)參)。 進(jìn)行函數(shù)調(diào)用時(shí),主調(diào)函數(shù)將把實(shí)參的值傳送給形參,供被調(diào)函數(shù)使用。
4. C語(yǔ)言提供了極為豐富的庫(kù)函數(shù), 這些庫(kù)函數(shù)又可從功能角度作以下分類(lèi)。
(1)字符類(lèi)型分類(lèi)函數(shù)
用于對(duì)字符按ASCII碼分類(lèi):字母,數(shù)字,控制字符,分隔符,大小寫(xiě)字母等。
(2)轉(zhuǎn)換函數(shù)
用于字符或字符串的轉(zhuǎn)換;在字符量和各類(lèi)數(shù)字量 (整型, 實(shí)型等)之間進(jìn)行轉(zhuǎn)換;在大、小寫(xiě)之間進(jìn)行轉(zhuǎn)換。
(3)目錄路徑函數(shù)
用于文件目錄和路徑操作。
(4)診斷函數(shù)
用于內(nèi)部錯(cuò)誤檢測(cè)。
(5)圖形函數(shù)
用于屏幕管理和各種圖形功能。
(6)輸入輸出函數(shù)
用于完成輸入輸出功能。
(7)接口函數(shù)
用于與DOS,BIOS和硬件的接口。
(8)字符串函數(shù)
用于字符串操作和處理。
(9)內(nèi)存管理函數(shù)
用于內(nèi)存管理。
(10)數(shù)學(xué)函數(shù)
用于數(shù)學(xué)函數(shù)計(jì)算。
(11)日期和時(shí)間函數(shù)
用于日期,時(shí)間轉(zhuǎn)換操作。
(12)進(jìn)程控制函數(shù)
用于進(jìn)程管理和控制。
(13)其它函數(shù)
用于其它各種功能。
函數(shù)可以避免重復(fù)的書(shū)寫(xiě)。比如一個(gè)運(yùn)算要在不同的地方多次進(jìn)行,就不必把這么多行都寫(xiě)一遍,調(diào)用一個(gè)函數(shù)就行了。同時(shí)減少不必要的變量。從而使程序大大簡(jiǎn)化。
庫(kù)函數(shù)就比較高深了,它的好處我現(xiàn)在還沒(méi)有切實(shí)體會(huì)到。
字符處理函數(shù)
本類(lèi)別函數(shù)用于對(duì)單個(gè)字符進(jìn)行處理,包括字符的類(lèi)別測(cè)試和字符的大小寫(xiě)轉(zhuǎn)換
頭文件 ctype.h
函數(shù)列表
函數(shù)類(lèi)別 函數(shù)用途 詳細(xì)說(shuō)明
字符測(cè)試 是否字母和數(shù)字 isalnum
是否字母 isalpha
是否控制字符 iscntrl
是否數(shù)字 isdigit
是否可顯示字符(除空格外) isgraph
是否可顯示字符(包括空格) isprint
是否既不是空格,又不是字母和數(shù)字的可顯示字符 ispunct
是否空格 isspace
是否大寫(xiě)字母 isupper
是否16進(jìn)制數(shù)字(0-9,A-F)字符 isxdigit
字符大小寫(xiě)轉(zhuǎn)換函數(shù) 轉(zhuǎn)換為大寫(xiě)字母 toupper
轉(zhuǎn)換為小寫(xiě)字母 tolower
地區(qū)化
本類(lèi)別的函數(shù)用于處理不同國(guó)家的語(yǔ)言差異。
頭文件 local.h
函數(shù)列表
函數(shù)類(lèi)別 函數(shù)用途 詳細(xì)說(shuō)明
地區(qū)控制 地區(qū)設(shè)置 setlocale
數(shù)字格式約定查詢(xún) 國(guó)家的貨幣、日期、時(shí)間等的格式轉(zhuǎn)換 localeconv
數(shù)學(xué)函數(shù)
本分類(lèi)給出了各種數(shù)學(xué)計(jì)算函數(shù),必須提醒的是ANSI C標(biāo)準(zhǔn)中的數(shù)據(jù)格式并不符合IEEE754標(biāo)準(zhǔn),一些C語(yǔ)言編譯器卻遵循IEEE754(例如frinklin C51)
頭文件 math.h
函數(shù)列表
函數(shù)類(lèi)別 函數(shù)用途 詳細(xì)說(shuō)明
錯(cuò)誤條件處理 定義域錯(cuò)誤(函數(shù)的輸入?yún)?shù)值不在規(guī)定的范圍內(nèi))
值域錯(cuò)誤(函數(shù)的返回值不在規(guī)定的范圍內(nèi))
三角函數(shù) 反余弦 acos
反正弦 asin
反正切 atan
反正切2 atan2
余弦 cos
正弦 sin
正切 tan
雙曲函數(shù) 雙曲余弦 cosh
雙曲正弦 sinh
雙曲正切 tanh
指數(shù)和對(duì)數(shù) 指數(shù)函數(shù) exp
指數(shù)分解函數(shù) frexp
乘積指數(shù)函數(shù) fdexp
自然對(duì)數(shù) log
以10為底的對(duì)數(shù) log10
浮點(diǎn)數(shù)分解函數(shù) modf
冪函數(shù) 冪函數(shù) pow
平方根函數(shù) sqrt
整數(shù)截?cái)?,絕對(duì)值和求余數(shù)函數(shù) 求下限接近整數(shù) ceil
絕對(duì)值 fabs
求上限接近整數(shù) floor
求余數(shù) fmod
本分類(lèi)函數(shù)用于實(shí)現(xiàn)在不同底函數(shù)之間直接跳轉(zhuǎn)代碼。 頭文件 setjmp.h io.h
函數(shù)列表
函數(shù)類(lèi)別 函數(shù)用途 詳細(xì)說(shuō)明
保存調(diào)用環(huán)境 setjmp
恢復(fù)調(diào)用環(huán)境 longjmp
信號(hào)處理
該分類(lèi)函數(shù)用于處理那些在程序執(zhí)行過(guò)程中發(fā)生例外的情況。
頭文件 signal.h
函數(shù)列表
函數(shù)類(lèi)別 函數(shù)用途 詳細(xì)說(shuō)明
指定信號(hào)處理函數(shù) signal
發(fā)送信號(hào) raise
可變參數(shù)處理
本類(lèi)函數(shù)用于實(shí)現(xiàn)諸如printf,scanf等參數(shù)數(shù)量可變底函數(shù)。
頭文件 stdarg.h
函數(shù)列表
函數(shù)類(lèi)別 函數(shù)用途 詳細(xì)說(shuō)明
可變參數(shù)訪問(wèn)宏 可變參數(shù)開(kāi)始宏 va_start
可變參數(shù)結(jié)束宏 va_end
可變參數(shù)訪問(wèn)宏 訪問(wèn)下一個(gè)可變參數(shù)宏 va_arg
輸入輸出函數(shù)
該分類(lèi)用于處理包括文件、控制臺(tái)等各種輸入輸出設(shè)備,各種函數(shù)以“流”的方式實(shí)現(xiàn)
頭文件 stdio.h
函數(shù)列表
函數(shù)類(lèi)別 函數(shù)用途 詳細(xì)說(shuō)明
文件操作
刪除文件 remove
修改文件名稱(chēng) rename
生成臨時(shí)文件名稱(chēng) tmpfile
得到臨時(shí)文件路徑 tmpnam
文件訪問(wèn) 關(guān)閉文件 fclose
刷新緩沖區(qū) fflush
打開(kāi)文件 fopen
將已存在的流指針和新文件連接 freopen
設(shè)置磁盤(pán)緩沖區(qū) setbuf
設(shè)置磁盤(pán)緩沖區(qū) setvbuf
格式化輸入與輸出函數(shù) 格式輸出 fprintf
格式輸入 fscanf
格式輸出(控制臺(tái)) printf
格式輸入(控制臺(tái)) scanf
格式輸出到緩沖區(qū) sprintf
從緩沖區(qū)中按格式輸入 sscanf
格式化輸出 vfprintf
格式化輸出 vprintf
格式化輸出 vsprintf
字符輸入輸出函數(shù) 輸入一個(gè)字符 fgetc
字符串輸入 fgets
字符輸出 fputc
字符串輸出 fputs
字符輸入(控制臺(tái)) getc
字符輸入(控制臺(tái)) getchar
字符串輸入(控制臺(tái)) gets
字符輸出(控制臺(tái)) putc
字符輸出(控制臺(tái)) putchar
字符串輸出(控制臺(tái)) puts
字符輸出到流的頭部 ungetc
直接輸入輸出 直接流讀操作 fread
直接流寫(xiě)操作 fwrite
文件定位函數(shù) 得到文件位置 fgetpos
文件位置移動(dòng) fseek
文件位置設(shè)置 fsetpos
得到文件位置 ftell
文件位置復(fù)零位 remind
錯(cuò)誤處理函數(shù) 錯(cuò)誤清除 clearerr
文件結(jié)尾判斷 feof
文件錯(cuò)誤檢測(cè) ferror
得到錯(cuò)誤提示字符串 perror
實(shí)用工具函數(shù)
本分類(lèi)給出了一些函數(shù)無(wú)法按以上分類(lèi),但又是編程所必須要的。
頭文件 stdlib.h
函數(shù)列表
函數(shù)類(lèi)別 函數(shù)用途 詳細(xì)說(shuō)明
字符串轉(zhuǎn)換函數(shù) 字符串轉(zhuǎn)換為整數(shù) atoi
字符串轉(zhuǎn)換為長(zhǎng)整數(shù) atol
字符串轉(zhuǎn)換為浮點(diǎn)數(shù) strtod
字符串轉(zhuǎn)換為長(zhǎng)整數(shù) strtol
字符串轉(zhuǎn)換為無(wú)符號(hào)長(zhǎng)整型 strtoul
偽隨機(jī)序列產(chǎn)生函數(shù) 產(chǎn)生隨機(jī)數(shù) rand
設(shè)置隨機(jī)函數(shù)的起動(dòng)數(shù)值 srand
存儲(chǔ)管理函數(shù) 分配存儲(chǔ)器 calloc
釋放存儲(chǔ)器 free
存儲(chǔ)器分配 malloc
重新分配存儲(chǔ)器 realloc
環(huán)境通信 中止程序 abort
退出程序執(zhí)行,并清除環(huán)境變量 atexit
退出程序執(zhí)行 exit
讀取環(huán)境參數(shù) getenv
程序掛起,臨時(shí)執(zhí)行一個(gè)其他程序 system
搜索和排序工具 二分查找(數(shù)據(jù)必須已排序) bsearch
快速排序 qsort
整數(shù)運(yùn)算函數(shù) 求絕對(duì)值 abs
div
得到除法運(yùn)算底商和余數(shù)
求長(zhǎng)整形底絕對(duì)值 labs
求長(zhǎng)整形除法的商和余數(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
字符串處理
本分類(lèi)的函數(shù)用于對(duì)字符串進(jìn)行合并、比較等操作
頭文件 string.h
函數(shù)列表
函數(shù)類(lèi)別 函數(shù)用途 詳細(xì)說(shuō)明
字符串拷貝 塊拷貝(目的和源存儲(chǔ)區(qū)不可重疊) memcpy
塊拷貝(目的和源存儲(chǔ)區(qū)可重疊) memmove
串拷貝 strcpy
按長(zhǎng)度的串拷貝 strncpy
字符串連接函數(shù) 串連接 strcat
按長(zhǎng)度連接字符串 strncat
串比較函數(shù) 塊比較 memcmp
字符串比較 strcmp
字符串比較(用于非英文字符) strcoll
按長(zhǎng)度對(duì)字符串比較 strncmp
字符串轉(zhuǎn)換 strxfrm
字符與字符串查找 字符查找 memchr
字符查找 strchr
字符串查找 strcspn
字符串查找 strpbrk
字符串查找 strspn
字符串查找 strstr
字符串分解 strtok
雜類(lèi)函數(shù) 字符串設(shè)置 memset
錯(cuò)誤字符串映射 strerror
求字符串長(zhǎng)度 strlen
日期和時(shí)間函數(shù)
本類(lèi)別給出時(shí)間和日期處理函數(shù)
頭文件 time.h
函數(shù)列表
函數(shù)類(lèi)別 函數(shù)用途 詳細(xì)說(shuō)明
時(shí)間操作函數(shù) 得到處理器時(shí)間 clock
得到時(shí)間差 difftime
設(shè)置時(shí)間 mktime
得到時(shí)間 time
時(shí)間轉(zhuǎn)換函數(shù) 得到以ASCII碼表示的時(shí)間 asctime
得到字符串表示的時(shí)間 ctime
得到指定格式的時(shí)間 strftime
函數(shù)庫(kù)未來(lái)的發(fā)展方向
本部分用于說(shuō)明各類(lèi)別函數(shù)庫(kù)在將來(lái)如何發(fā)展。
序號(hào) 庫(kù)類(lèi)別 頭文件 詳細(xì)說(shuō)明
1 錯(cuò)誤處理 errno.h
2 字符處理 ctype.h
3 地區(qū)化 local.h
4 數(shù)學(xué)函數(shù) math.h
5 信號(hào)處理 signal.h
6 輸入輸出 stdio.h
7 實(shí)用工具程序 stdlib.h
8 字符串處理 string.h
無(wú)統(tǒng)一劃分標(biāo)準(zhǔn)。
有人分:
分類(lèi)函數(shù),所在函數(shù)庫(kù)為ctype.h
數(shù)學(xué)函數(shù),所在函數(shù)庫(kù)為math.h、stdlib.h、string.h、float.h
目錄函數(shù),所在函數(shù)庫(kù)為dir.h、dos.h
進(jìn)程函數(shù),所在函數(shù)庫(kù)為stdlib.h、process.h
轉(zhuǎn)換子程序,函數(shù)庫(kù)為math.h、stdlib.h、ctype.h、float.h
診斷函數(shù),所在函數(shù)庫(kù)為assert.h、math.h
輸入輸出子程序,函數(shù)庫(kù)為io.h、conio.h、stat.h、dos.h、stdio.h、signal.h
其它函數(shù)。。。。
其實(shí),劃分不劃分,意義不大。沒(méi)有人用到所有函數(shù),也沒(méi)有人記得住所有函數(shù)名和參數(shù)。都是用的時(shí)候查幫助文件,或到網(wǎng)上查找。常用的函數(shù)并不多,熟能生巧,不用死記。
C語(yǔ)言函數(shù)的運(yùn)用及調(diào)用
1.當(dāng)程序變得越來(lái)越復(fù)雜的時(shí)候,我們可以使用函數(shù)進(jìn)行完成任務(wù),并不再是進(jìn)行編寫(xiě)。
2.C語(yǔ)言本身就具有豐富的庫(kù)函數(shù):
目錄路徑函數(shù)
字符類(lèi)型分類(lèi)函數(shù)
內(nèi)存管理函數(shù)
數(shù)學(xué)函數(shù)
進(jìn)程控制函數(shù)
日期和時(shí)間函數(shù)
接口函數(shù)
輸入輸出函數(shù)
圖形函數(shù)
診斷函數(shù)
3.每一種函數(shù)都有它的作用,在需要使用時(shí),直接進(jìn)行調(diào)用就可以了。
4.函數(shù)分為有參和無(wú)參函數(shù)。
參數(shù)可以分為形參與實(shí)參。
形參在函數(shù)內(nèi),而實(shí)參在函數(shù)外。
形參直接使用,而實(shí)參在函數(shù)外調(diào)用。
5. 函數(shù)的值只能通過(guò)return語(yǔ)句返回主調(diào)函數(shù)。
6.在函數(shù)內(nèi)有局部變量和全局變量?jī)煞N,局部變量在函數(shù)內(nèi)使用,而全局變量可在函數(shù)中使用。
7.從變量作用域可以劃分全局,而在變量的生存期可以分為靜態(tài)與動(dòng)態(tài)存儲(chǔ)方式。
固定的存儲(chǔ)空間與運(yùn)行時(shí)分配的存儲(chǔ)空間方式還是有所不同的。
auto聲明自動(dòng)變量,自動(dòng)變量用關(guān)鍵字作存儲(chǔ)類(lèi)別的聲明,在函數(shù)調(diào)用結(jié)束將會(huì)自動(dòng)釋放這些存儲(chǔ)空間。
static可以聲明局部變量,在函數(shù)調(diào)用結(jié)束之后不消失而保留原值。
8.register可以聲明局部變量,在函數(shù)調(diào)用時(shí)為了提高效率,可以寄存在CPU的寄存器中。
extern可以聲明局部變量,擴(kuò)展程序文件中的作用域。
ALLOC.H 說(shuō)明內(nèi)存管理函數(shù)(分配、釋放等)。
ASSERT.H 定義 assert調(diào)試宏。
BIOS.H 說(shuō)明調(diào)用IBM—PC ROM BIOS子程序的各個(gè)函數(shù)。
CONIO.H 說(shuō)明調(diào)用DOS控制臺(tái)I/O子程序的各個(gè)函數(shù)。
CTYPE.H 包含有關(guān)字符分類(lèi)及轉(zhuǎn)換的名類(lèi)信息(如 isalpha和toascii等)。
DIR.H 包含有關(guān)目錄和路徑的結(jié)構(gòu)、宏定義和函數(shù)。
DOS.H 定義和說(shuō)明MSDOS和8086調(diào)用的一些常量和函數(shù)。
ERRON.H 定義錯(cuò)誤代碼的助記符。
FCNTL.H 定義在與open庫(kù)子程序連接時(shí)的符號(hào)常量。
FLOAT.H 包含有關(guān)浮點(diǎn)運(yùn)算的一些參數(shù)和函數(shù)。
GRAPHICS.H 說(shuō)明有關(guān)圖形功能的各個(gè)函數(shù),圖形錯(cuò)誤代碼的常量定義,正對(duì)不同驅(qū)動(dòng)程序的各種顏色值,及函數(shù)用到的一些特殊結(jié)構(gòu)。
IO.H 包含低級(jí)I/O子程序的結(jié)構(gòu)和說(shuō)明。
LIMIT.H 包含各環(huán)境參數(shù)、編譯時(shí)間限制、數(shù)的范圍等信息。
MATH.H 說(shuō)明數(shù)學(xué)運(yùn)算函數(shù),還定了 HUGE VAL 宏, 說(shuō)明了matherr和matherr子程序用到的特殊結(jié)構(gòu)。
MEM.H 說(shuō)明一些內(nèi)存操作函數(shù)(其中大多數(shù)也在STRING.H 中說(shuō)明)。
PROCESS.H 說(shuō)明進(jìn)程管理的各個(gè)函數(shù),spawn…和EXEC …函數(shù)的結(jié)構(gòu)說(shuō)明。
SETJMP.H 定義longjmp和setjmp函數(shù)用到的jmp buf類(lèi)型, 說(shuō)明這兩個(gè)函數(shù)。
SHARE.H 定義文件共享函數(shù)的參數(shù)。
SIGNAL.H 定義SIG[ZZ(Z] [ZZ)]IGN和SIG[ZZ(Z] [ZZ)]DFL常量,說(shuō)明rajse和signal兩個(gè)函數(shù)。
STDARG.H 定義讀函數(shù)參數(shù)表的宏。(如vprintf,vscarf函數(shù))。
STDDEF.H 定義一些公共數(shù)據(jù)類(lèi)型和宏。
STDIO.H 定義Kernighan和Ritchie在Unix System V 中定義的標(biāo)準(zhǔn)和擴(kuò)展的類(lèi)型和宏。還定義標(biāo)準(zhǔn)I/O 預(yù)定義流:stdin,stdout和stderr,說(shuō)明 I/O流子程序。
STDLIB.H 說(shuō)明一些常用的子程序:轉(zhuǎn)換子程序、搜索/ 排序子程序等。
STRING.H 說(shuō)明一些串操作和內(nèi)存操作函數(shù)。
SYS\STAT.H 定義在打開(kāi)和創(chuàng)建文件時(shí)用到的一些符號(hào)常量。
SYS\TYPES.H 說(shuō)明ftime函數(shù)和timeb結(jié)構(gòu)。
SYS\TIME.H 定義時(shí)間的類(lèi)型time[ZZ(Z] [ZZ)]t。
TIME.H 定義時(shí)間轉(zhuǎn)換子程序asctime、localtime和gmtime的結(jié)構(gòu),ctime、 difftime、 gmtime、 localtime和stime用到的類(lèi)型,并提供這些函數(shù)的原型。
VALUE.H 定義一些重要常量, 包括依賴(lài)于機(jī)器硬件的和為與Unix System V相兼容而說(shuō)明的一些常量,包括浮點(diǎn)和雙精
分類(lèi)函數(shù),所在函數(shù)庫(kù)為ctype.h
int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否則返回0
int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或數(shù)字('0'-'9')
返回非0值,否則返回0
int isascii(int ch) 若ch是字符(ASCII碼中的0-127)返回非0值,否則返回0
int iscntrl(int ch) 若ch是作廢字符(0x7F)或普通控制字符(0x00-0x1F)
返回非0值,否則返回0
int isdigit(int ch) 若ch是數(shù)字('0'-'9')返回非0值,否則返回0
int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否則返回0
int islower(int ch) 若ch是小寫(xiě)字母('a'-'z')返回非0值,否則返回0
int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否則返回0
int ispunct(int ch) 若ch是標(biāo)點(diǎn)字符(0x00-0x1F)返回非0值,否則返回0
int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回車(chē)符('\r'),
走紙換行('\f'),垂直制表符('\v'),換行符('\n')
返回非0值,否則返回0
int isupper(int ch) 若ch是大寫(xiě)字母('A'-'Z')返回非0值,否則返回0
int isxdigit(int ch) 若ch是16進(jìn)制數(shù)('0'-'9','A'-'F','a'-'f')返回非0值,
否則返回0
int tolower(int ch) 若ch是大寫(xiě)字母('A'-'Z')返回相應(yīng)的小寫(xiě)字母('a'-'z')
int toupper(int ch) 若ch是小寫(xiě)字母('a'-'z')返回相應(yīng)的大寫(xiě)字母('A'-'Z')
數(shù)學(xué)函數(shù),所在函數(shù)庫(kù)為math.h、stdlib.h、string.h、float.h
int abs(int i) 返回整型參數(shù)i的絕對(duì)值
double cabs(struct complex znum) 返回復(fù)數(shù)znum的絕對(duì)值
double fabs(double x) 返回雙精度參數(shù)x的絕對(duì)值
long labs(long n) 返回長(zhǎng)整型參數(shù)n的絕對(duì)值
double exp(double x) 返回指數(shù)函數(shù)ex的值
double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存貯在eptr中
double ldexp(double value,int exp); 返回value*2exp的值
double log(double x) 返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回xy的值
double pow10(int p) 返回10p的值
double sqrt(double x) 返回+√x的值
double acos(double x) 返回x的反余弦cos-1(x)值,x為弧度
double asin(double x) 返回x的反正弦sin-1(x)值,x為弧度
double atan(double x) 返回x的反正切tan-1(x)值,x為弧度
double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x為弧度
double cos(double x) 返回x的余弦cos(x)值,x為弧度
double sin(double x) 返回x的正弦sin(x)值,x為弧度
double tan(double x) 返回x的正切tan(x)值,x為弧度
double cosh(double x) 返回x的雙曲余弦cosh(x)值,x為弧度
double sinh(double x) 返回x的雙曲正弦sinh(x)值,x為弧度
double tanh(double x) 返回x的雙曲正切tanh(x)值,x為弧度
double hypot(double x,double y) 返回直角三角形斜邊的長(zhǎng)度(z),
x和y為直角邊的長(zhǎng)度,z2=x2+y2
double ceil(double x) 返回不小于x的最小整數(shù)
double floor(double x) 返回不大于x的最大整數(shù)
void srand(unsigned seed) 初始化隨機(jī)數(shù)發(fā)生器
int rand() 產(chǎn)生一個(gè)隨機(jī)數(shù)并返回這個(gè)數(shù)
double poly(double x,int n,double c[])從參數(shù)產(chǎn)生一個(gè)多項(xiàng)式
double modf(double value,double *iptr)將雙精度數(shù)value分解成尾數(shù)和階
double fmod(double x,double y) 返回x/y的余數(shù)
double frexp(double value,int *eptr) 將雙精度數(shù)value分成尾數(shù)和階
double atof(char *nptr) 將字符串nptr轉(zhuǎn)換成浮點(diǎn)數(shù)并返回這個(gè)浮點(diǎn)數(shù)
double atoi(char *nptr) 將字符串nptr轉(zhuǎn)換成整數(shù)并返回這個(gè)整數(shù)
double atol(char *nptr) 將字符串nptr轉(zhuǎn)換成長(zhǎng)整數(shù)并返回這個(gè)整數(shù)
char *ecvt(double value,int ndigit,int *decpt,int *sign)
將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串
char *fcvt(double value,int ndigit,int *decpt,int *sign)
將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串
char *gcvt(double value,int ndigit,char *buf)
將數(shù)value轉(zhuǎn)換成字符串并存于buf中,并返回buf的指針
char *ultoa(unsigned long value,char *string,int radix)
將無(wú)符號(hào)整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時(shí)所用基數(shù)
char *ltoa(long value,char *string,int radix)
將長(zhǎng)整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時(shí)所用基數(shù)
char *itoa(int value,char *string,int radix)
將整數(shù)value轉(zhuǎn)換成字符串存入string,radix為轉(zhuǎn)換時(shí)所用基數(shù)
double atof(char *nptr) 將字符串nptr轉(zhuǎn)換成雙精度數(shù),并返回這個(gè)數(shù),錯(cuò)誤返回0
int atoi(char *nptr) 將字符串nptr轉(zhuǎn)換成整型數(shù), 并返回這個(gè)數(shù),錯(cuò)誤返回0
long atol(char *nptr) 將字符串nptr轉(zhuǎn)換成長(zhǎng)整型數(shù),并返回這個(gè)數(shù),錯(cuò)誤返回0
double strtod(char *str,char **endptr)將字符串str轉(zhuǎn)換成雙精度數(shù),并返回這個(gè)數(shù),
long strtol(char *str,char **endptr,int base)將字符串str轉(zhuǎn)換成長(zhǎng)整型數(shù),
并返回這個(gè)數(shù),
int matherr(struct exception *e)
用戶(hù)修改數(shù)學(xué)錯(cuò)誤返回信息函數(shù)(沒(méi)有必要使用)
double _matherr(_mexcep why,char *fun,double *arg1p,
double *arg2p,double retval)
用戶(hù)修改數(shù)學(xué)錯(cuò)誤返回信息函數(shù)(沒(méi)有必要使用)
unsigned int _clear87() 清除浮點(diǎn)狀態(tài)字并返回原來(lái)的浮點(diǎn)狀態(tài)
void _fpreset() 重新初使化浮點(diǎn)數(shù)學(xué)程序包
unsigned int _status87() 返回浮點(diǎn)狀態(tài)字
目錄函數(shù),所在函數(shù)庫(kù)為dir.h、dos.h
int chdir(char *path) 使指定的目錄path(如:"C:\\WPS")變成當(dāng)前的工作目錄,成
功返回0
int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功
返回0
pathname為指定的目錄名和文件名,如"C:\\WPS\\TXT"
ffblk為指定的保存文件信息的一個(gè)結(jié)構(gòu),定義如下:
┏━━━━━━━━━━━━━━━━━━┓
┃struct ffblk ┃
┃{ ┃
┃ char ff_reserved[21]; /*DOS保留字*/┃
┃ char ff_attrib; /*文件屬性*/ ┃
┃ int ff_ftime; /*文件時(shí)間*/ ┃
┃ int ff_fdate; /*文件日期*/ ┃
┃ long ff_fsize; /*文件長(zhǎng)度*/ ┃
┃ char ff_name[13]; /*文件名*/ ┃
┃} ┃
┗━━━━━━━━━━━━━━━━━━┛
attrib為文件屬性,由以下字符代表
┏━━━━━━━━━┳━━━━━━━━┓
┃FA_RDONLY 只讀文件┃FA_LABEL 卷標(biāo)號(hào)┃
┃FA_HIDDEN 隱藏文件┃FA_DIREC 目錄 ┃
┃FA_SYSTEM 系統(tǒng)文件┃FA_ARCH 檔案 ┃
┗━━━━━━━━━┻━━━━━━━━┛
例:
struct ffblk ff;
findfirst("*.wps",ff,FA_RDONLY);
int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0
void fumerge(char *path,char *drive,char *dir,char *name,char *ext)
此函數(shù)通過(guò)盤(pán)符drive(C:、A:等),路徑dir(\TC、\BC\LIB等),
文件名name(TC、WPS等),擴(kuò)展名ext(.EXE、.COM等)組成一個(gè)文件名
存與path中.
int fnsplit(char *path,char *drive,char *dir,char *name,char *ext)
此函數(shù)將文件名path分解成盤(pán)符drive(C:、A:等),路徑dir(\TC、\BC\LIB等),
文件名name(TC、WPS等),擴(kuò)展名ext(.EXE、.COM等),并分別存入相應(yīng)的變量中.
int getcurdir(int drive,char *direc) 此函數(shù)返回指定驅(qū)動(dòng)器的當(dāng)前工作目錄名稱(chēng)
drive 指定的驅(qū)動(dòng)器(0=當(dāng)前,1=A,2=B,3=C等)
direc 保存指定驅(qū)動(dòng)器當(dāng)前工作路徑的變量 成功返回0
char *getcwd(char *buf,iint n) 此函數(shù)取當(dāng)前工作目錄并存入buf中,直到n個(gè)字
節(jié)長(zhǎng)為為止.錯(cuò)誤返回NULL
int getdisk() 取當(dāng)前正在使用的驅(qū)動(dòng)器,返回一個(gè)整數(shù)(0=A,1=B,2=C等)
int setdisk(int drive) 設(shè)置要使用的驅(qū)動(dòng)器drive(0=A,1=B,2=C等),
返回可使用驅(qū)動(dòng)器總數(shù)
int mkdir(char *pathname) 建立一個(gè)新的目錄pathname,成功返回0
int rmdir(char *pathname) 刪除一個(gè)目錄pathname,成功返回0
char *mktemp(char *template) 構(gòu)造一個(gè)當(dāng)前目錄上沒(méi)有的文件名并存于template中
char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路徑,
,此函數(shù)使用DOS的PATH變量,未找到文件返回NULL
進(jìn)程函數(shù),所在函數(shù)庫(kù)為stdlib.h、process.h
void abort() 此函數(shù)通過(guò)調(diào)用具有出口代碼3的_exit寫(xiě)一個(gè)終止信息于stderr,
并異常終止程序。無(wú)返回值
int exec…裝入和運(yùn)行其它程序
int execl( char *pathname,char *arg0,char *arg1,…,char *argn,NULL)
int execle( char *pathname,char *arg0,char *arg1,…,
char *argn,NULL,char *envp[])
int execlp( char *pathname,char *arg0,char *arg1,…,NULL)
int execlpe(char *pathname,char *arg0,char *arg1,…,NULL,char *envp[])
int execv( char *pathname,char *argv[])
int execve( char *pathname,char *argv[],char *envp[])
int execvp( char *pathname,char *argv[])
int execvpe(char *pathname,char *argv[],char *envp[])
exec函數(shù)族裝入并運(yùn)行程序pathname,并將參數(shù)
arg0(arg1,arg2,argv[],envp[])傳遞給子程序,出錯(cuò)返回-1
在exec函數(shù)族中,后綴l、v、p、e添加到exec后,
所指定的函數(shù)將具有某種操作能力
有后綴 p時(shí),函數(shù)可以利用DOS的PATH變量查找子程序文件。
l時(shí),函數(shù)中被傳遞的參數(shù)個(gè)數(shù)固定。
v時(shí),函數(shù)中被傳遞的參數(shù)個(gè)數(shù)不固定。
e時(shí),函數(shù)傳遞指定參數(shù)envp,允許改變子進(jìn)程的環(huán)境,
無(wú)后綴e時(shí),子進(jìn)程使用當(dāng)前程序的環(huán)境。
void _exit(int status)終止當(dāng)前程序,但不清理現(xiàn)場(chǎng)
void exit(int status) 終止當(dāng)前程序,關(guān)閉所有文件,寫(xiě)緩沖區(qū)的輸出(等待輸出),
并調(diào)用任何寄存器的"出口函數(shù)",無(wú)返回值
int spawn…運(yùn)行子程序
int spawnl( int mode,char *pathname,char *arg0,char *arg1,…,
char *argn,NULL)
int spawnle( int mode,char *pathname,char *arg0,char *arg1,…,
char *argn,NULL,char *envp[])
int spawnlp( int mode,char *pathname,char *arg0,char *arg1,…,
char *argn,NULL)
int spawnlpe(int mode,char *pathname,char *arg0,char *arg1,…,
char *argn,NULL,char *envp[])
int spawnv( int mode,char *pathname,char *argv[])
int spawnve( int mode,char *pathname,char *argv[],char *envp[])
int spawnvp( int mode,char *pathname,char *argv[])
int spawnvpe(int mode,char *pathname,char *argv[],char *envp[])
spawn函數(shù)族在mode模式下運(yùn)行子程序pathname,并將參數(shù)
arg0(arg1,arg2,argv[],envp[])傳遞給子程序.出錯(cuò)返回-1
mode為運(yùn)行模式
mode為 P_WAIT 表示在子程序運(yùn)行完后返回本程序
P_NOWAIT 表示在子程序運(yùn)行時(shí)同時(shí)運(yùn)行本程序(不可用)
P_OVERLAY表示在本程序退出后運(yùn)行子程序
在spawn函數(shù)族中,后綴l、v、p、e添加到spawn后,
所指定的函數(shù)將具有某種操作能力
有后綴 p時(shí), 函數(shù)利用DOS的PATH查找子程序文件
l時(shí), 函數(shù)傳遞的參數(shù)個(gè)數(shù)固定.
v時(shí), 函數(shù)傳遞的參數(shù)個(gè)數(shù)不固定.
e時(shí), 指定參數(shù)envp可以傳遞給子程序,允許改變子程序運(yùn)行環(huán)境.
當(dāng)無(wú)后綴e時(shí),子程序使用本程序的環(huán)境.
int system(char *command) 將MSDOS命令command傳遞給DOS執(zhí)行
轉(zhuǎn)換子程序,函數(shù)庫(kù)為math.h、stdlib.h、ctype.h、float.h
char *ecvt(double value,int ndigit,int *decpt,int *sign)
將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串
char *fcvt(double value,int ndigit,int *decpt,int *sign)
將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串
char *gcvt(double value,int ndigit,char *buf)
將數(shù)value轉(zhuǎn)換成字符串并存于buf中,并返回buf的指針
char *ultoa(unsigned long value,char *string,int radix)
將無(wú)符號(hào)整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時(shí)所用基數(shù)
char *ltoa(long value,char *string,int radix)
將長(zhǎng)整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時(shí)所用基數(shù)
char *itoa(int value,char *string,int radix)
將整數(shù)value轉(zhuǎn)換成字符串存入string,radix為轉(zhuǎn)換時(shí)所用基數(shù)
double atof(char *nptr) 將字符串nptr轉(zhuǎn)換成雙精度數(shù),并返回這個(gè)數(shù),錯(cuò)誤返回0
int atoi(char *nptr) 將字符串nptr轉(zhuǎn)換成整型數(shù), 并返回這個(gè)數(shù),錯(cuò)誤返回0
long atol(char *nptr) 將字符串nptr轉(zhuǎn)換成長(zhǎng)整型數(shù),并返回這個(gè)數(shù),錯(cuò)誤返回0
double strtod(char *str,char **endptr)將字符串str轉(zhuǎn)換成雙精度數(shù),并返回這個(gè)數(shù),
long strtol(char *str,char **endptr,int base)將字符串str轉(zhuǎn)換成長(zhǎng)整型數(shù),
并返回這個(gè)數(shù),
int toascii(int c) 返回c相應(yīng)的ASCII
int tolower(int ch) 若ch是大寫(xiě)字母('A'-'Z')返回相應(yīng)的小寫(xiě)字母('a'-'z')
int _tolower(int ch) 返回ch相應(yīng)的小寫(xiě)字母('a'-'z')
int toupper(int ch) 若ch是小寫(xiě)字母('a'-'z')返回相應(yīng)的大寫(xiě)字母('A'-'Z')
int _toupper(int ch) 返回ch相應(yīng)的大寫(xiě)字母('A'-'Z')
診斷函數(shù),所在函數(shù)庫(kù)為assert.h、math.h
void assert(int test) 一個(gè)擴(kuò)展成if語(yǔ)句那樣的宏,如果test測(cè)試失敗,
就顯示一個(gè)信息并異常終止程序,無(wú)返回值
void perror(char *string) 本函數(shù)將顯示最近一次的錯(cuò)誤信息,格式如下:
字符串string:錯(cuò)誤信息
char *strerror(char *str) 本函數(shù)返回最近一次的錯(cuò)誤信息,格式如下:
字符串str:錯(cuò)誤信息
int matherr(struct exception *e)
用戶(hù)修改數(shù)學(xué)錯(cuò)誤返回信息函數(shù)(沒(méi)有必要使用)
double _matherr(_mexcep why,char *fun,double *arg1p,
double *arg2p,double retval)
用戶(hù)修改數(shù)學(xué)錯(cuò)誤返回信息函數(shù)(沒(méi)有必要使用)
網(wǎng)頁(yè)標(biāo)題:分類(lèi)函數(shù)怎么用c語(yǔ)言 分類(lèi)函數(shù)怎么用c語(yǔ)言表示
標(biāo)題鏈接:http://www.rwnh.cn/article14/doohige.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、App開(kāi)發(fā)、云服務(wù)器、搜索引擎優(yōu)化、App設(shè)計(jì)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(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)