分類函數(shù),所在函數(shù)庫為ctype.h
泗洪ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
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是小寫字母('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'),回車符('\r'),
走紙換行('\f'),垂直制表符('\v'),換行符('\n')
返回非0值,否則返回0
int isupper(int ch) 若ch是大寫字母('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是大寫字母('A'-'Z')返回相應(yīng)的小寫字母('a'-'z')
int toupper(int ch) 若ch是小寫字母('a'-'z')返回相應(yīng)的大寫字母('A'-'Z')
int abs(int i) 返回整型參數(shù)i的絕對值
double cabs(struct complex znum) 返回復(fù)數(shù)znum的絕對值
double fabs(double x) 返回雙精度參數(shù)x的絕對值
long labs(long n) 返回長整型參數(shù)n的絕對值
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) 返回直角三角形斜邊的長度(z),
x和y為直角邊的長度,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)生一個隨機(jī)數(shù)并返回這個數(shù)
double poly(double x,int n,double c[])從參數(shù)產(chǎn)生一個多項式
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ù)并返回這個浮點(diǎn)數(shù)
double atoi(char *nptr) 將字符串nptr轉(zhuǎn)換成整數(shù)并返回這個整數(shù)
double atol(char *nptr) 將字符串nptr轉(zhuǎn)換成長整數(shù)并返回這個整數(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)
將無符號整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時所用基數(shù)
char *ltoa(long value,char *string,int radix)
將長整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時所用基數(shù)
char *itoa(int value,char *string,int radix)
將整數(shù)value轉(zhuǎn)換成字符串存入string,radix為轉(zhuǎn)換時所用基數(shù)
double atof(char *nptr) 將字符串nptr轉(zhuǎn)換成雙精度數(shù),并返回這個數(shù),錯誤返回0
int atoi(char *nptr) 將字符串nptr轉(zhuǎn)換成整型數(shù), 并返回這個數(shù),錯誤返回0
long atol(char *nptr) 將字符串nptr轉(zhuǎn)換成長整型數(shù),并返回這個數(shù),錯誤返回0
double strtod(char *str,char **endptr)將字符串str轉(zhuǎn)換成雙精度數(shù),并返回這個數(shù),
long strtol(char *str,char **endptr,int base)將字符串str轉(zhuǎn)換成長整型數(shù),
并返回這個數(shù),
int matherr(struct exception *e)
用戶修改數(shù)學(xué)錯誤返回信息函數(shù)(沒有必要使用)
double _matherr(_mexcep why,char *fun,double *arg1p,
double *arg2p,double retval)
用戶修改數(shù)學(xué)錯誤返回信息函數(shù)(沒有必要使用)
unsigned int _clear87() 清除浮點(diǎn)狀態(tài)字并返回原來的浮點(diǎn)狀態(tài)
void _fpreset() 重新初使化浮點(diǎn)數(shù)學(xué)程序包
unsigned int _status87() 返回浮點(diǎn)狀態(tài)字
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為指定的保存文件信息的一個結(jié)構(gòu),定義如下:
┏━━━━━━━━━━━━━━━━━━┓
┃struct ffblk ┃
┃{ ┃
┃ char ff_reserved[21]; /*DOS保留字*/┃
┃ char ff_attrib; /*文件屬性*/ ┃
┃ int ff_ftime; /*文件時間*/ ┃
┃ int ff_fdate; /*文件日期*/ ┃
┃ long ff_fsize; /*文件長度*/ ┃
┃ char ff_name[13]; /*文件名*/ ┃
┃} ┃
┗━━━━━━━━━━━━━━━━━━┛
attrib為文件屬性,由以下字符代表
┏━━━━━━━━━┳━━━━━━━━┓
┃FA_RDONLY 只讀文件┃FA_LABEL 卷標(biā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ù)通過盤符drive(C:、A:等),路徑dir(\TC、\BC\LIB等),
文件名name(TC、WPS等),擴(kuò)展名ext(.EXE、.COM等)組成一個文件名
存與path中.
int fnsplit(char *path,char *drive,char *dir,char *name,char *ext)
此函數(shù)將文件名path分解成盤符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)前工作目錄名稱
drive 指定的驅(qū)動器(0=當(dāng)前,1=A,2=B,3=C等)
direc 保存指定驅(qū)動器當(dāng)前工作路徑的變量 成功返回0
char *getcwd(char *buf,iint n) 此函數(shù)取當(dāng)前工作目錄并存入buf中,直到n個字
節(jié)長為為止.錯誤返回NULL
int getdisk() 取當(dāng)前正在使用的驅(qū)動器,返回一個整數(shù)(0=A,1=B,2=C等)
int setdisk(int drive) 設(shè)置要使用的驅(qū)動器drive(0=A,1=B,2=C等),
返回可使用驅(qū)動器總數(shù)
int mkdir(char *pathname) 建立一個新的目錄pathname,成功返回0
int rmdir(char *pathname) 刪除一個目錄pathname,成功返回0
char *mktemp(char *template) 構(gòu)造一個當(dāng)前目錄上沒有的文件名并存于template中
char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路徑,
,此函數(shù)使用DOS的PATH變量,未找到文件返回NULL
void abort() 此函數(shù)通過調(diào)用具有出口代碼3的_exit寫一個終止信息于stderr,
并異常終止程序。無返回值
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[])傳遞給子程序,出錯返回-1
在exec函數(shù)族中,后綴l、v、p、e添加到exec后,
所指定的函數(shù)將具有某種操作能力
有后綴 p時,函數(shù)可以利用DOS的PATH變量查找子程序文件。
l時,函數(shù)中被傳遞的參數(shù)個數(shù)固定。
v時,函數(shù)中被傳遞的參數(shù)個數(shù)不固定。
e時,函數(shù)傳遞指定參數(shù)envp,允許改變子進(jìn)程的環(huán)境,
無后綴e時,子進(jìn)程使用當(dāng)前程序的環(huán)境。
void _exit(int status)終止當(dāng)前程序,但不清理現(xiàn)場
void exit(int status) 終止當(dāng)前程序,關(guān)閉所有文件,寫緩沖區(qū)的輸出(等待輸出),
并調(diào)用任何寄存器的"出口函數(shù)",無返回值
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[])傳遞給子程序.出錯返回-1
mode為運(yùn)行模式
mode為 P_WAIT 表示在子程序運(yùn)行完后返回本程序
P_NOWAIT 表示在子程序運(yùn)行時同時運(yùn)行本程序(不可用)
P_OVERLAY表示在本程序退出后運(yùn)行子程序
在spawn函數(shù)族中,后綴l、v、p、e添加到spawn后,
所指定的函數(shù)將具有某種操作能力
有后綴 p時, 函數(shù)利用DOS的PATH查找子程序文件
l時, 函數(shù)傳遞的參數(shù)個數(shù)固定.
v時, 函數(shù)傳遞的參數(shù)個數(shù)不固定.
e時, 指定參數(shù)envp可以傳遞給子程序,允許改變子程序運(yùn)行環(huán)境.
當(dāng)無后綴e時,子程序使用本程序的環(huán)境.
int system(char *command) 將MSDOS命令command傳遞給DOS執(zhí)行
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)
將無符號整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時所用基數(shù)
char *ltoa(long value,char *string,int radix)
將長整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時所用基數(shù)
char *itoa(int value,char *string,int radix)
將整數(shù)value轉(zhuǎn)換成字符串存入string,radix為轉(zhuǎn)換時所用基數(shù)
double atof(char *nptr) 將字符串nptr轉(zhuǎn)換成雙精度數(shù),并返回這個數(shù),錯誤返回0
int atoi(char *nptr) 將字符串nptr轉(zhuǎn)換成整型數(shù), 并返回這個數(shù),錯誤返回0
long atol(char *nptr) 將字符串nptr轉(zhuǎn)換成長整型數(shù),并返回這個數(shù),錯誤返回0
double strtod(char *str,char **endptr)將字符串str轉(zhuǎn)換成雙精度數(shù),并返回這個數(shù),
long strtol(char *str,char **endptr,int base)將字符串str轉(zhuǎn)換成長整型數(shù),
并返回這個數(shù),
int toascii(int c) 返回c相應(yīng)的ASCII
int tolower(int ch) 若ch是大寫字母('A'-'Z')返回相應(yīng)的小寫字母('a'-'z')
int _tolower(int ch) 返回ch相應(yīng)的小寫字母('a'-'z')
int toupper(int ch) 若ch是小寫字母('a'-'z')返回相應(yīng)的大寫字母('A'-'Z')
int _toupper(int ch) 返回ch相應(yīng)的大寫字母('A'-'Z')
void assert(int test) 一個擴(kuò)展成if語句那樣的宏,如果test測試失敗,
就顯示一個信息并異常終止程序,無返回值
void perror(char *string) 本函數(shù)將顯示最近一次的錯誤信息,格式如下:
字符串string:錯誤信息
char *strerror(char *str) 本函數(shù)返回最近一次的錯誤信息,格式如下:
字符串str:錯誤信息
int matherr(struct exception *e)
用戶修改數(shù)學(xué)錯誤返回信息函數(shù)(沒有必要使用)
double _matherr(_mexcep why,char *fun,double *arg1p,
double *arg2p,double retval)
用戶修改數(shù)學(xué)錯誤返回信息函數(shù)(沒有必要使用)
int kbhit() 本函數(shù)返回最近所敲的按鍵
int fgetchar() 從控制臺(鍵盤)讀一個字符,顯示在屏幕上
int getch() 從控制臺(鍵盤)讀一個字符,不顯示在屏幕上
int putch() 向控制臺(鍵盤)寫一個字符
int getchar() 從控制臺(鍵盤)讀一個字符,顯示在屏幕上
int putchar() 向控制臺(鍵盤)寫一個字符
int getche() 從控制臺(鍵盤)讀一個字符,顯示在屏幕上
int ungetch(int c) 把字符c退回給控制臺(鍵盤)
char *cgets(char *string) 從控制臺(鍵盤)讀入字符串存于string中
int scanf(char *format[,argument…])從控制臺讀入一個字符串,分別對各個參數(shù)進(jìn)行
賦值,使用BIOS進(jìn)行輸出
int vscanf(char *format,Valist param)從控制臺讀入一個字符串,分別對各個參數(shù)進(jìn)行
賦值,使用BIOS進(jìn)行輸出,參數(shù)從Valist param中取得
int cscanf(char *format[,argument…])從控制臺讀入一個字符串,分別對各個參數(shù)進(jìn)行
賦值,直接對控制臺作操作,比如顯示器在顯示時字符時即為直接寫頻方式顯示
int sscanf(char *string,char *format[,argument,…])通過字符串string,分別對各個
參數(shù)進(jìn)行賦值
int vsscanf(char *string,char *format,Vlist param)通過字符串string,分別對各個
參數(shù)進(jìn)行賦值,參數(shù)從Vlist param中取得
int puts(char *string) 發(fā)關(guān)一個字符串string給控制臺(顯示器),
使用BIOS進(jìn)行輸出
void cputs(char *string) 發(fā)送一個字符串string給控制臺(顯示器),
直接對控制臺作操作,比如顯示器即為直接寫頻方式顯示
int printf(char *format[,argument,…]) 發(fā)送格式化字符串輸出給控制臺(顯示器)
使用BIOS進(jìn)行輸出
int vprintf(char *format,Valist param) 發(fā)送格式化字符串輸出給控制臺(顯示器)
使用BIOS進(jìn)行輸出,參數(shù)從Valist param中取得
int cprintf(char *format[,argument,…]) 發(fā)送格式化字符串輸出給控制臺(顯示器),
直接對控制臺作操作,比如顯示器即為直接寫頻方式顯示
int vcprintf(char *format,Valist param)發(fā)送格式化字符串輸出給控制臺(顯示器),
直接對控制臺作操作,比如顯示器即為直接寫頻方式顯示,
參數(shù)從Valist param中取得
int sprintf(char *string,char *format[,argument,…])
將字符串string的內(nèi)容重新寫為格式化后的字符串
int vsprintf(char *string,char *format,Valist param)
將字符串string的內(nèi)容重新寫為格式化后的字符串,參數(shù)從Valist param中取得
int rename(char *oldname,char *newname)將文件oldname的名稱改為newname
int ioctl(int handle,int cmd[,int *argdx,int argcx])
本函數(shù)是用來控制輸入/輸出設(shè)備的,請見下表:
┌———┬————————————————————————————┐
│cmd值 │功能 │
├———┼————————————————————————————┤
│ 0 │取出設(shè)備信息 │
│ 1 │設(shè)置設(shè)備信息 │
│ 2 │把a(bǔ)rgcx字節(jié)讀入由argdx所指的地址 │
│ 3 │在argdx所指的地址寫argcx字節(jié) │
│ 4 │除把handle當(dāng)作設(shè)備號(0=當(dāng)前,1=A,等)之外,均和cmd=2時一樣 │
│ 5 │除把handle當(dāng)作設(shè)備號(0=當(dāng)前,1=A,等)之外,均和cmd=3時一樣 │
│ 6 │取輸入狀態(tài) │
│ 7 │取輸出狀態(tài) │
│ 8 │測試可換性;只對于DOS 3.x │
│ 11 │置分享沖突的重算計數(shù);只對DOS 3.x │
└———┴————————————————————————————┘
int (*ssignal(int sig,int(*action)())()執(zhí)行軟件信號(沒必要使用)
int gsignal(int sig) 執(zhí)行軟件信號(沒必要使用)
int _open(char *pathname,int access)為讀或?qū)懘蜷_一個文件,
按后按access來確定是讀文件還是寫文件,access值見下表
┌——————┬————————————————————┐
│access值 │意義 │
├——————┼————————————————————┤
│O_RDONLY │讀文件 │
│O_WRONLY │寫文件 │
│O_RDWR │即讀也寫 │
│O_NOINHERIT │若文件沒有傳遞給子程序,則被包含 │
│O_DENYALL │只允許當(dāng)前處理必須存取的文件 │
│O_DENYWRITE │只允許從任何其它打開的文件讀 │
│O_DENYREAD │只允許從任何其它打開的文件寫 │
│O_DENYNONE │允許其它共享打開的文件 │
└——————┴————————————————————┘
int open(char *pathname,int access[,int permiss])為讀或?qū)懘蜷_一個文件,
按后按access來確定是讀文件還是寫文件,access值見下表
┌————┬————————————————————┐
│access值│意義 │
├————┼————————————————————┤
│O_RDONLY│讀文件 │
│O_WRONLY│寫文件 │
│O_RDWR │即讀也寫 │
│O_NDELAY│沒有使用;對UNIX系統(tǒng)兼容 │
│O_APPEND│即讀也寫,但每次寫總是在文件尾添加 │
│O_CREAT │若文件存在,此標(biāo)志無用;若不存在,建新文件 │
│O_TRUNC │若文件存在,則長度被截為0,屬性不變 │
│O_EXCL │未用;對UNIX系統(tǒng)兼容 │
│O_BINARY│此標(biāo)志可顯示地給出以二進(jìn)制方式打開文件 │
│O_TEXT │此標(biāo)志可用于顯示地給出以文本方式打開文件│
└————┴————————————————————┘
permiss為文件屬性,可為以下值:
S_IWRITE允許寫 S_IREAD允許讀 S_IREAD|S_IWRITE允許讀、寫
int creat(char *filename,int permiss) 建立一個新文件filename,并設(shè)定
讀寫性。permiss為文件讀寫性,可以為以下值
S_IWRITE允許寫 S_IREAD允許讀 S_IREAD|S_IWRITE允許讀、寫
int _creat(char *filename,int attrib) 建立一個新文件filename,并設(shè)定文件
屬性。attrib為文件屬性,可以為以下值
FA_RDONLY只讀 FA_HIDDEN隱藏 FA_SYSTEM系統(tǒng)
int creatnew(char *filenamt,int attrib) 建立一個新文件filename,并設(shè)定文件
屬性。attrib為文件屬性,可以為以下值
FA_RDONLY只讀 FA_HIDDEN隱藏 FA_SYSTEM系統(tǒng)
int creattemp(char *filenamt,int attrib) 建立一個新文件filename,并設(shè)定文件
屬性。attrib為文件屬性,可以為以下值
FA_RDONLY只讀 FA_HIDDEN隱藏 FA_SYSTEM系統(tǒng)
int read(int handle,void *buf,int nbyte)從文件號為handle的文件中讀nbyte個字符
存入buf中
int _read(int handle,void *buf,int nbyte)從文件號為handle的文件中讀nbyte個字符
存入buf中,直接調(diào)用MSDOS進(jìn)行操作.
int write(int handle,void *buf,int nbyte)將buf中的nbyte個字符寫入文件號
為handle的文件中
int _write(int handle,void *buf,int nbyte)將buf中的nbyte個字符寫入文件號
為handle的文件中
int dup(int handle) 復(fù)制一個文件處理指針handle,返回這個指針
int dup2(int handle,int newhandle) 復(fù)制一個文件處理指針handle到newhandle
int eof(int *handle)檢查文件是否結(jié)束,結(jié)束返回1,否則返回0
long filelength(int handle) 返回文件長度,handle為文件號
int setmode(int handle,unsigned mode)本函數(shù)用來設(shè)定文件號為handle的文件的打
開方式
int getftime(int handle,struct ftime *ftime) 讀取文件號為handle的文件的時間,
并將文件時間存于ftime結(jié)構(gòu)中,成功返回0,ftime結(jié)構(gòu)如下:
┌—————————————————┐
│struct ftime │
│{ │
│ unsigned ft_tsec:5; /*秒*/ │
│ unsigned ft_min:6; /*分*/ │
│ unsigned ft_hour:5; /*時*/ │
│ unsigned ft_day:5; /*日*/ │
│ unsigned ft_month:4;/*月*/ │
│ unsigned ft_year:1; /*年-1980*/ │
│} │
└—————————————————┘
int setftime(int handle,struct ftime *ftime) 重寫文件號為handle的文件時間,
新時間在結(jié)構(gòu)ftime中.成功返回0.結(jié)構(gòu)ftime如下:
┌—————————————————┐
│struct ftime │
│{ │
│ unsigned ft_tsec:5; /*秒*/ │
│ unsigned ft_min:6; /*分*/ │
│ unsigned ft_hour:5; /*時*/ │
│ unsigned ft_day:5; /*日*/ │
│ unsigned ft_month:4;/*月*/ │
│ unsigned ft_year:1; /*年-1980*/ │
│} │
└—————————————————┘
long lseek(int handle,long offset,int fromwhere) 本函數(shù)將文件號為handle的文件
的指針移到fromwhere后的第offset個字節(jié)處.
SEEK_SET 文件開關(guān) SEEK_CUR 當(dāng)前位置 SEEK_END 文件尾
long tell(int handle) 本函數(shù)返回文件號為handle的文件指針,以字節(jié)表示
int isatty(int handle)本函數(shù)用來取設(shè)備handle的類型
int lock(int handle,long offset,long length) 對文件共享作封鎖
int unlock(int handle,long offset,long length) 打開對文件共享的封鎖
int close(int handle) 關(guān)閉handle所表示的文件處理,handle是從_creat、creat、
creatnew、creattemp、dup、dup2、_open、open中的一個處調(diào)用獲得的文件處理
成功返回0否則返回-1,可用于UNIX系統(tǒng)
int _close(int handle) 關(guān)閉handle所表示的文件
一般包括字符庫函數(shù),數(shù)學(xué)函數(shù),目錄函數(shù),進(jìn)程函數(shù),診斷函數(shù),操作函數(shù)等。
字符庫函數(shù)所在函數(shù)庫為ctype.h;數(shù)學(xué)函數(shù)所在函數(shù)庫為math.h、stdio.h、string.h、float.h;目錄函數(shù)所在函數(shù)庫為dir.h、dos.h;進(jìn)程函數(shù)所在函數(shù)庫為stdlib.h、process.h。
診斷函數(shù)所在函數(shù)庫為assert.h、math.h;接口子程序所在函數(shù)庫為:dos.h、bios.h;操作函數(shù)所在函數(shù)庫為string.h、mem.h;時間日期函數(shù)函數(shù)庫為time.h、dos.h。
擴(kuò)展資料
C語言為一種程序設(shè)計的入門語言。由于C語言的語句中沒有提供直接計算sin或cos函數(shù)的語句,會造成編寫程序困難;但是函數(shù)庫提供了sin和cos函數(shù),可以拿來直接調(diào)用。顯示一段文字,我們在C語言中找不到顯示語句,只能使用庫函數(shù)printf。
C語言的庫函數(shù)并不是C語言本身的一部分,它是由編譯程序根據(jù)一般用戶的需要,編制并提供用戶使用的一組程序。C的庫函數(shù)極大地方便了用戶,同時也補(bǔ)充了C語言本身的不足。在編寫C語言程序時,使用庫函數(shù),既可以提高程序的運(yùn)行效率,又可以提高編程的質(zhì)量。
參考資料來源:百度百科-C語言庫函數(shù)
參考資料來源:百度百科-C語言函數(shù)
c語言本身是沒有函數(shù)的,函數(shù)是基于語言實現(xiàn)的,一門語言首先是有基本語意單位,語法,
c語言有32個關(guān)鍵字,這個自己百度下,
你之所以會以為c語言有函數(shù),
一是編譯器約定,如main();
二是引用庫,如stdio.h;
三是自己定義,如int myfun();
C語言輸入輸出函數(shù)有很多,標(biāo)準(zhǔn)I/O函數(shù)中包含了如下幾個常用的函數(shù):
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
getc(FILE
*fp)
getc主要是從文件中讀出一個字符.常用的判斷文件是否讀取結(jié)束的語句為
(ch
=
getc(fp))
!=
EOF.EOF為文件結(jié)束標(biāo)志,定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當(dāng)fp為stdin時,getc(stdin)就等同于getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字符ch寫到文件fp中去.如果fp為stdout,則putc就等同于putchar()了.
int
getchar(void)
getchar主要是從標(biāo)準(zhǔn)輸入流讀取一個字符.默認(rèn)的標(biāo)準(zhǔn)輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字符時又涉及到緩沖的問題,所以并不是在屏幕中敲上一個字符程序就會運(yùn)行,一般是通過在屏幕上敲上回車鍵,然后將回車前的字符串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個一個的讀字符.當(dāng)然也可以在while循環(huán)中指定終止字符,如下面的語句:while
((c
=
getchar())
!=
'#')這是以#來結(jié)束的.
int
putchar(int
ch)
putchar(ch)主要是把字符ch寫到標(biāo)準(zhǔn)流stdout中去.
char
*
gets(char
*str)
gets主要是從標(biāo)準(zhǔn)輸入流讀取字符串并回顯,讀到換行符時退出,并會將換行符省去.
int
puts(char
*str)
puts主要是把字符串str寫到標(biāo)準(zhǔn)流stdout中去,并會在輸出到最后時添加一個換行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放讀入的字符數(shù)組指針,num是最大允許的讀入字符數(shù),fp是文件指針.fgets的功能是讀一行字符,該行的字符數(shù)不大于num-1.因為fgets函數(shù)會在末尾加上一個空字符以構(gòu)成一個字符串.另外fgets在讀取到換行符后不會將其省略.
int
fputs(char
*str,
file
*fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在打印時并不添加換行符.
int
fgetc(FILE
*fp)
fgetc從fp的當(dāng)前位置讀取一個字符.
int
fputc(int
ch,
file
*fp)
fputc是將ch寫入fp當(dāng)前指定位置.
int
fscanf(FILE
*fp,
char
*format,
輸入列表)
fscanf按照指定格式從文件中出讀出數(shù)據(jù),并賦值到參數(shù)列表中.
int
fprintf(FILE
*fp,
char
*format,
輸出列表)
fprintf將格式化數(shù)據(jù)寫入流式文件中.
數(shù)據(jù)塊讀寫函數(shù)
fread
(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
參數(shù)說明:
buffer:是一個指針。
對fread
來說,它是讀入數(shù)據(jù)的存放地址。
對fwrite來說,是要輸出數(shù)據(jù)的地址(均指起始地址)。
size:
要讀寫的字節(jié)數(shù)。
count:
要進(jìn)行讀寫多少個size字節(jié)的數(shù)據(jù)項。
fp:
文件型指針。