日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C库函数简表

發布時間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C库函数简表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

分類函數,所在函數庫為ctype.h

int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z') 返回非0值,否則返回0

int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或數字('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是數字('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是標點字符(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進制數('0'-'9','A'-'F','a'-'f')返回非0值,否則返回0

int tolower(int ch) 若ch是大寫字母('A'-'Z')返回相應的小寫字母('a'-'z')

int toupper(int ch) 若ch是小寫字母('a'-'z')返回相應的大寫字母('A'-'Z')

數學函數,所在函數庫為math.h、stdlib.h、string.h、float.h

int abs(int i) 返回整型參數i的絕對值

double cabs(struct complex znum) 返回復數znum的絕對值

double fabs(double x) 返回雙精度參數x的絕對值

long labs(long n) 返回長整型參數n的絕對值

double exp(double x) 返回指數函數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的最小整數

double floor(double x) 返回不大于x的最大整數

void srand(unsigned seed) 初始化隨機數發生器

int rand() 產生一個隨機數并返回這個數

double poly(double x,int n,double c[])從參數產生一個多項式

double modf(double value,double *iptr)將雙精度數value分解成尾數和階

double fmod(double x,double y) 返回x/y的余數

double frexp(double value,int *eptr) 將雙精度數value分成尾數和階

double atof(char *nptr) 將字符串nptr轉換成浮點數并返回這個浮點數

double atoi(char *nptr) 將字符串nptr轉換成整數并返回這個整數

double atol(char *nptr) 將字符串nptr轉換成長整數并返回這個整數

char *ecvt(double value,int ndigit,int *decpt,int *sign) 將浮點數value轉換成字符串并返回該字符串

char *fcvt(double value,int ndigit,int *decpt,int *sign) 將浮點數value轉換成字符串并返回該字符串

char *gcvt(double value,int ndigit,char *buf) 將數value轉換成字符串并存于buf中,并返回buf的指針

char *ultoa(unsigned long value,char *string,int radix) 將無符號整型數value轉換成字符串并返回該字符串,radix為轉換時所用基數

char *ltoa(long value,char *string,int radix) 將長整型數value轉換成字符串并返回該字符串,radix為轉換時所用基數

char *itoa(int value,char *string,int radix) 將整數value轉換成字符串存入string,radix為轉換時所用基數

double atof(char *nptr) 將字符串nptr轉換成雙精度數,并返回這個數,錯誤返回0

int atoi(char *nptr) 將字符串nptr轉換成整型數, 并返回這個數,錯誤返回0

long atol(char *nptr) 將字符串nptr轉換成長整型數,并返回這個數,錯誤返回0

double strtod(char *str,char **endptr)將字符串str轉換成雙精度數,并返回這個數,

long strtol(char *str,char **endptr,int base)將字符串str轉換成長整型數,并返回這個數,

int matherr(struct exception *e)用戶修改數學錯誤返回信息函數(沒有必要使用)

double _matherr(_mexcep why,char *fun,double *arg1p,double *arg2p,double retval) 用戶修改數學錯誤返回信息函數(沒有必要使用)

unsigned int _clear87() 清除浮點狀態字并返回原來的浮點狀態

void _fpreset() 重新初使化浮點數學程序包

unsigned int _status87() 返回浮點狀態字

目錄函數,所在函數庫為dir.h、dos.h

int chdir(char *path) 使指定的目錄path(如:"C:\\WPS")變成當前的工作目錄,成功返回0

int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功返回0 pathname為指定的目錄名和文件名,如"C:\\WPS\\TXT"
ffblk為指定的保存文件信息的一個結構,定義如下:
┏━━━━━━━━━━━━━━━━━━┓
┃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 卷標號┃
┃FA_HIDDEN 隱藏文件┃FA_DIREC 目錄 ┃
┃FA_SYSTEM 系統文件┃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)此函數通過盤符drive(C:、A:等),路徑dir(\TC、\BC\LIB等),文件名name(TC、WPS等),擴展名 ext(.EXE、.COM等)組成一個文件名存與path中.

int fnsplit(char *path,char *drive,char *dir,char *name,char *ext)此函數將文件名path分解成盤符drive(C:、A:等),路徑dir(\TC、\BC\LIB等),文件名name(TC、WPS等), 擴展名ext(.EXE、.COM等),并分別存入相應的變量中.

int getcurdir(int drive,char *direc) 此函數返回指定驅動器的當前工作目錄名稱
drive 指定的驅動器(0=當前,1=A,2=B,3=C等)
direc 保存指定驅動器當前工作路徑的變量 成功返回0

char *getcwd(char *buf,iint n) 此函數取當前工作目錄并存入buf中,直到n個字節長為為止.錯誤返回NULL

int getdisk() 取當前正在使用的驅動器,返回一個整數(0=A,1=B,2=C等)

int setdisk(int drive) 設置要使用的驅動器drive(0=A,1=B,2=C等),返回可使用驅動器總數

int mkdir(char *pathname) 建立一個新的目錄pathname,成功返回0

int rmdir(char *pathname) 刪除一個目錄pathname,成功返回0

char *mktemp(char *template) 構造一個當前目錄上沒有的文件名并存于template中

char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路徑,,此函數使用DOS的PATH變量,未找到文件返回NULL

進程函數,所在函數庫為stdlib.h、process.h

void abort() 此函數通過調用具有出口代碼3的_exit寫一個終止信息于stderr,并異常終止程序。無返回值

int exec…裝入和運行其它程序

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函數族裝入并運行程序pathname,并將參數arg0(arg1,arg2,argv[],envp[])傳遞給子程序,出錯返回-1
在exec函數族中,后綴l、v、p、e添加到exec后,所指定的函數將具有某種操作能力
有后綴 p時,函數可以利用DOS的PATH變量查找子程序文件。
l時,函數中被傳遞的參數個數固定。
v時,函數中被傳遞的參數個數不固定。
e時,函數傳遞指定參數envp,允許改變子進程的環境,
無后綴e時,子進程使用當前程序的環境。

void _exit(int status)終止當前程序,但不清理現場

void exit(int status) 終止當前程序,關閉所有文件,寫緩沖區的輸出(等待輸出),并調用任何寄存器的"出口函數",無返回值

int spawn…運行子程序

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函數族在mode模式下運行子程序pathname,并將參數arg0(arg1,arg2,argv[],envp[])傳遞給子程序.出錯返回-1
mode為運行模式
mode為 P_WAIT 表示在子程序運行完后返回本程序
P_NOWAIT 表示在子程序運行時同時運行本程序(不可用)
P_OVERLAY表示在本程序退出后運行子程序
在spawn函數族中,后綴l、v、p、e添加到spawn后,所指定的函數將具有某種操作能力
有后綴 p時, 函數利用DOS的PATH查找子程序文件
l時, 函數傳遞的參數個數固定.
v時, 函數傳遞的參數個數不固定.
e時, 指定參數envp可以傳遞給子程序,允許改變子程序運行環境.
當無后綴e時,子程序使用本程序的環境.

int system(char *command) 將MSDOS命令command傳遞給DOS執行

轉換子程序,函數庫為math.h、stdlib.h、ctype.h、float.h

char *ecvt(double value,int ndigit,int *decpt,int *sign)
將浮點數value轉換成字符串并返回該字符串

char *fcvt(double value,int ndigit,int *decpt,int *sign)
將浮點數value轉換成字符串并返回該字符串

char *gcvt(double value,int ndigit,char *buf)
將數value轉換成字符串并存于buf中,并返回buf的指針

char *ultoa(unsigned long value,char *string,int radix)
將無符號整型數value轉換成字符串并返回該字符串,radix為轉換時所用基數

char *ltoa(long value,char *string,int radix)
將長整型數value轉換成字符串并返回該字符串,radix為轉換時所用基數

char *itoa(int value,char *string,int radix)
將整數value轉換成字符串存入string,radix為轉換時所用基數

double atof(char *nptr) 將字符串nptr轉換成雙精度數,并返回這個數,錯誤返回0

int atoi(char *nptr) 將字符串nptr轉換成整型數, 并返回這個數,錯誤返回0

long atol(char *nptr) 將字符串nptr轉換成長整型數,并返回這個數,錯誤返回0

double strtod(char *str,char **endptr)將字符串str轉換成雙精度數,并返回這個數,

long strtol(char *str,char **endptr,int base)將字符串str轉換成長整型數,并返回這個數,

int toascii(int c) 返回c相應的ASCII

int tolower(int ch) 若ch是大寫字母('A'-'Z')返回相應的小寫字母('a'-'z')

int _tolower(int ch) 返回ch相應的小寫字母('a'-'z')

int toupper(int ch) 若ch是小寫字母('a'-'z')返回相應的大寫字母('A'-'Z')

int _toupper(int ch) 返回ch相應的大寫字母('A'-'Z')

診斷函數,所在函數庫為assert.h、math.h

void assert(int test) 一個擴展成if語句那樣的宏,如果test測試失敗,就顯示一個信息并異常終止程序,無返回值

void perror(char *string) 本函數將顯示最近一次的錯誤信息,格式如下:字符串string:錯誤信息

char *strerror(char *str) 本函數返回最近一次的錯誤信息,格式如下:字符串str:錯誤信息

int matherr(struct exception *e) 用戶修改數學錯誤返回信息函數(沒有必要使用)

double _matherr(_mexcep why,char *fun,double *arg1p,double *arg2p,double retval)
用戶修改數學錯誤返回信息函數(沒有必要使用)

輸入輸出子程序,函數庫為io.h、conio.h、stat.h、dos.h、stdio.h、signal.h

int kbhit() 本函數返回最近所敲的按鍵

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…])從控制臺讀入一個字符串,分別對各個參數進行賦值,使用BIOS進行輸出

int vscanf(char *format,Valist param)從控制臺讀入一個字符串,分別對各個參數進行賦值,使用BIOS進行輸出,參數從Valist param中取得

int cscanf(char *format[,argument…])從控制臺讀入一個字符串,分別對各個參數進行賦值,直接對控制臺作操作,比如顯示器在顯示時字符時即為直接寫頻方式顯示

int sscanf(char *string,char *format[,argument,…])通過字符串string,分別對各個參數進行賦值

int vsscanf(char *string,char *format,Vlist param)通過字符串string,分別對各個參數進行賦值,參數從Vlist param中取得

int puts(char *string) 發關一個字符串string給控制臺(顯示器),使用BIOS進行輸出

void cputs(char *string) 發送一個字符串string給控制臺(顯示器),直接對控制臺作操作,比如顯示器即為直接寫頻方式顯示

int printf(char *format[,argument,…]) 發送格式化字符串輸出給控制臺(顯示器)使用BIOS進行輸出

int vprintf(char *format,Valist param) 發送格式化字符串輸出給控制臺(顯示器)使用BIOS進行輸出,參數從Valist param中取得

int cprintf(char *format[,argument,…]) 發送格式化字符串輸出給控制臺(顯示器),直接對控制臺作操作,比如顯示器即為直接寫頻方式顯示

int vcprintf(char *format,Valist param)發送格式化字符串輸出給控制臺(顯示器),直接對控制臺作操作,比如顯示器即為直接寫頻方式顯示,
參數從Valist param中取得

int sprintf(char *string,char *format[,argument,…])將字符串string的內容重新寫為格式化后的字符串

int vsprintf(char *string,char *format,Valist param)將字符串string的內容重新寫為格式化后的字符串,參數從Valist param中取得

int rename(char *oldname,char *newname)將文件oldname的名稱改為newname

int ioctl(int handle,int cmd[,int *argdx,int argcx])本函數是用來控制輸入/輸出設備的,請見下表:
┌───┬────────────────────────────┐
│cmd值 │功能 │
├───┼────────────────────────────┤
│ 0 │取出設備信息 │
│ 1 │設置設備信息 │
│ 2 │把argcx字節讀入由argdx所指的地址 │
│ 3 │在argdx所指的地址寫argcx字節 │
│ 4 │除把handle當作設備號(0=當前,1=A,等)之外,均和cmd=2時一樣 │
│ 5 │除把handle當作設備號(0=當前,1=A,等)之外,均和cmd=3時一樣 │
│ 6 │取輸入狀態 │
│ 7 │取輸出狀態 │
│ 8 │測試可換性;只對于DOS 3.x │
│ 11 │置分享沖突的重算計數;只對DOS 3.x │
└───┴────────────────────────────┘

int (*ssignal(int sig,int(*action)())()執行軟件信號(沒必要使用)

int gsignal(int sig) 執行軟件信號(沒必要使用)

int _open(char *pathname,int access)為讀或寫打開一個文件,
按后按access來確定是讀文件還是寫文件,access值見下表
┌──────┬────────────────────┐
│access值 │意義 │
├──────┼────────────────────┤
│O_RDONLY │讀文件 │
│O_WRONLY │寫文件 │
│O_RDWR │即讀也寫 │
│O_NOINHERIT │若文件沒有傳遞給子程序,則被包含 │
│O_DENYALL │只允許當前處理必須存取的文件 │
│O_DENYWRITE │只允許從任何其它打開的文件讀 │
│O_DENYREAD │只允許從任何其它打開的文件寫 │
│O_DENYNONE │允許其它共享打開的文件 │
└──────┴────────────────────┘
int open(char *pathname,int access[,int permiss])為讀或寫打開一個文件,
按后按access來確定是讀文件還是寫文件,access值見下表
┌────┬────────────────────┐
│access值│意義 │
├────┼────────────────────┤
│O_RDONLY│讀文件 │
│O_WRONLY│寫文件 │
│O_RDWR │即讀也寫 │
│O_NDELAY│沒有使用;對UNIX系統兼容 │
│O_APPEND│即讀也寫,但每次寫總是在文件尾添加 │
│O_CREAT │若文件存在,此標志無用;若不存在,建新文件 │
│O_TRUNC │若文件存在,則長度被截為0,屬性不變 │
│O_EXCL │未用;對UNIX系統兼容 │
│O_BINARY│此標志可顯示地給出以二進制方式打開文件 │
│O_TEXT │此標志可用于顯示地給出以文本方式打開文件│
└────┴────────────────────┘
permiss為文件屬性,可為以下值:
S_IWRITE允許寫 S_IREAD允許讀 S_IREAD|S_IWRITE允許讀、寫

int creat(char *filename,int permiss) 建立一個新文件filename,并設定讀寫性。permiss為文件讀寫性,可以為以下值S_IWRITE允許寫 S_IREAD允許讀 S_IREAD|S_IWRITE允許讀、寫

int _creat(char *filename,int attrib) 建立一個新文件filename,并設定文件屬性。attrib為文件屬性,可以為以下值FA_RDONLY只讀 FA_HIDDEN隱藏 FA_SYSTEM系統

int creatnew(char *filenamt,int attrib) 建立一個新文件filename,并設定文件屬性。attrib為文件屬性,可以為以下值FA_RDONLY只讀 FA_HIDDEN隱藏 FA_SYSTEM系統

int creattemp(char *filenamt,int attrib) 建立一個新文件filename,并設定文件屬性。attrib為文件屬性,可以為以下值FA_RDONLY只讀 FA_HIDDEN隱藏 FA_SYSTEM系統

int read(int handle,void *buf,int nbyte)從文件號為handle的文件中讀nbyte個字符存入buf中

int _read(int handle,void *buf,int nbyte)從文件號為handle的文件中讀nbyte個字符存入buf中,直接調用MSDOS進行操作.

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) 復制一個文件處理指針handle,返回這個指針

int dup2(int handle,int newhandle) 復制一個文件處理指針handle到newhandle

int eof(int *handle)檢查文件是否結束,結束返回1,否則返回0

long filelength(int handle) 返回文件長度,handle為文件號

int setmode(int handle,unsigned mode)本函數用來設定文件號為handle的文件的打開方式

int getftime(int handle,struct ftime *ftime) 讀取文件號為handle的文件的時間,并將文件時間存于ftime結構中,成功返回0,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*/ │
│} │
└─────────────────┘
int setftime(int handle,struct ftime *ftime) 重寫文件號為handle的文件時間,
新時間在結構ftime中.成功返回0.結構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) 本函數將文件號為handle的文件的指針移到fromwhere后的第offset個字節處.SEEK_SET 文件開關 SEEK_CUR 當前位置 SEEK_END 文件尾

long tell(int handle) 本函數返回文件號為handle的文件指針,以字節表示

int isatty(int handle)本函數用來取設備handle的類型

int lock(int handle,long offset,long length) 對文件共享作封鎖

int unlock(int handle,long offset,long length) 打開對文件共享的封鎖

int close(int handle) 關閉handle所表示的文件處理,handle是從_creat、creat、

creatnew、creattemp、dup、dup2、_open、open中的一個處調用獲得的文件處理成功返回0否則返回-1,可用于UNIX系統

int _close(int handle) 關閉handle所表示的文件處理,handle是從_creat、creat、creatnew、creattemp、dup、dup2、_open、 open中的一個處調用獲得的文件處理成功返回0否則返回-1,只能用于MSDOS系統

FILE *fopen(char *filename,char *type) 打開一個文件filename,打開方式為type,
并返回這個文件指針,type可為以下字符串加上后綴
┌──┬────┬───────┬────────┐
│type│讀寫性 │文本/2進制文件│建新/打開舊文件 │
├──┼────┼───────┼────────┤
│r │讀 │文本 │打開舊的文件 │
│w │寫 │文本 │建新文件 │
│a │添加 │文本 │有就打開無則建新│
│r+ │讀/寫 │不限制 │打開 │
│w+ │讀/寫 │不限制 │建新文件 │
│a+ │讀/添加 │不限制 │有就打開無則建新│
└──┴────┴───────┴────────┘
可加的后綴為t、b。加b表示文件以二進制形式進行操作,t沒必要使用
例: ┌──────────────────┐
│#include │
│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中讀一個字符,并返回這個字符

int putc(int ch,FILE *stream)向流stream寫入一個字符ch

int getw(FILE *stream) 從流stream讀入一個整數,錯誤返回EOF

int putw(int w,FILE *stream)向流stream寫入一個整數

int ungetc(char c,FILE *stream) 把字符c退回給流stream,下一次讀進的字符將是c

int fgetc(FILE *stream) 從流stream處讀一個字符,并返回這個字符

int fputc(int ch,FILE *stream) 將字符ch寫入流stream中

char *fgets(char *string,int n,FILE *stream) 從流stream中讀n個字符存入string中

int fputs(char *string,FILE *stream) 將字符串string寫入流stream中

int fread(void *ptr,int size,int nitems,FILE *stream) 從流stream中讀入nitems個長度為size的字符串存入ptr中

int fwrite(void *ptr,int size,int nitems,FILE *stream) 向流stream中寫入nitems個長度為size的字符串,字符串在ptr中

int fscanf(FILE *stream,char *format[,argument,…]) 以格式化形式從流stream中讀入一個字符串

int vfscanf(FILE *stream,char *format,Valist param) 以格式化形式從流stream中讀入一個字符串,參數從Valist param中取得

int fprintf(FILE *stream,char *format[,argument,…]) 以格式化形式將一個字符串寫給指定的流stream

int vfprintf(FILE *stream,char *format,Valist param) 以格式化形式將一個字符串寫給指定的流stream,參數從Valist param中取得

int fseek(FILE *stream,long offset,int fromwhere) 函數把文件指針移到fromwhere所指位置的向后offset個字節處,fromwhere可以為以下值:SEEK_SET 文件開關 SEEK_CUR 當前位置 SEEK_END 文件尾

long ftell(FILE *stream) 函數返回定位在stream中的當前文件指針位置,以字節表示

int rewind(FILE *stream) 將當前文件指針stream移到文件開頭

int feof(FILE *stream) 檢測流stream上的文件指針是否在結束位置

int fileno(FILE *stream) 取流stream上的文件處理,并返回文件處理

int ferror(FILE *stream) 檢測流stream上是否有讀寫錯誤,如有錯誤就返回1

void clearerr(FILE *stream) 清除流stream上的讀寫錯誤

void setbuf(FILE *stream,char *buf) 給流stream指定一個緩沖區buf

void setvbuf(FILE *stream,char *buf,int type,unsigned size)給流stream指定一個緩沖區buf,大小為size,類型為type,type的值見下表
┌───┬───────────────────────────────┐
│type值│意義 │
├───┼───────────────────────────────┤
│_IOFBF│文件是完全緩沖區,當緩沖區是空時,下一個輸入操作將企圖填滿整個緩│
│ │沖區.在輸出時,在把任何數據寫到文件之前,將完全填充緩沖區. │
│_IOLBF│文件是行緩沖區.當緩沖區為空時,下一個輸入操作將仍然企圖填整個緩│
│ │沖區.然而在輸出時,每當新行符寫到文件,緩沖區就被清洗掉. │
│_IONBF│文件是無緩沖的.buf和size參數是被忽略的.每個輸入操作將直接從文 │
│ │件讀,每個輸出操作將立即把數據寫到文件中. │
└───┴───────────────────────────────┘
int fclose(FILE *stream) 關閉一個流,可以是文件或設備(例如LPT1)

int fcloseall() 關閉所有除stdin或stdout外的流

int fflush(FILE *stream) 關閉一個流,并對緩沖區作處理處理即對讀的流,將流內內容讀入緩沖區; 對寫的流,將緩沖區內內容寫入流。成功返回0

int fflushall() 關閉所有流,并對流各自的緩沖區作處理處理即對讀的流,將流內內容讀入緩沖區;對寫的流,將緩沖區內內容寫入流。成功返回0

int access(char *filename,int amode) 本函數檢查文件filename并返回文件的屬性,函數將屬性存于amode中,amode由以下位的組合構成
06可以讀、寫 04可以讀 02可以寫 01執行(忽略的) 00文件存在如果filename是一個目錄,函數將只確定目錄是否存在函數執行成功返回0,否則返回-1

int chmod(char *filename,int permiss) 本函數用于設定文件filename的屬性
permiss可以為以下值
S_IWRITE允許寫 S_IREAD允許讀 S_IREAD|S_IWRITE允許讀、寫

int _chmod(char *filename,int func[,int attrib]);
本函數用于讀取或設定文件filename的屬性,當func=0時,函數返回文件的屬性;當func=1時,函數設定文件的屬性 若為設定文件屬性,attrib可以為下列常數之一 FA_RDONLY只讀 FA_HIDDEN隱藏 FA_SYSTEM系統

接口子程序,所在函數庫為:dos.h、bios.h

unsigned sleep(unsigned seconds)暫停seconds微秒(百分之一秒)

int unlink(char *filename)刪除文件filename

unsigned FP_OFF(void far *farptr)本函數用來取遠指針farptr的偏移量

unsigned FP_SEG(void far *farptr)本函數用來沒置遠指針farptr的段值

void far *MK_FP(unsigned seg,unsigned off)根據段seg和偏移量off構造一個far指針

unsigned getpsp()取程序段前綴的段地址,并返回這個地址

char *parsfnm(char *cmdline,struct fcb *fcbptr,int option)函數分析一個字符串,通常,對一個文件名來說,是由cmdline所指的一個命令行.
文件名是放入一個FCB中作為一個驅動器,文件名和擴展名.FCB是由fcbptr所指定的.option參數是DOS分析系統調用時,AL文本的值.

int absread(int drive,int nsects,int sectno,void *buffer)本函數功能為讀特定的磁盤扇區,drive為驅動器號(0=A,1=B等),nsects為要讀的扇區數,sectno為開始的邏輯扇區 號,buffer為保存所讀數據的保存空間

int abswrite(int drive,int nsects,int sectno,void *buffer)本函數功能為寫特定的磁盤扇區,drive為驅動器號(0=A,1=B等),nsects為要寫的扇區數,sectno為開始的邏輯扇區 號,buffer為保存所寫數據的所在空間

void getdfree(int drive,struct dfree *dfreep)本函數用來取磁盤的自由空間,drive為磁盤號(0=當前,1=A等).函數將磁盤特性的由dfreep指向的dfree結構中.
dfree結構如下:
┌───────────────────┐
│struct dfree │
│{ │
│ unsigned df_avail; /*有用簇個數*/ │
│ unsigned df_total; /*總共簇個數*/ │
│ unsigned df_bsec; /*每個扇區字節數*/│
│ unsigned df_sclus; /*每個簇扇區數*/ │
│} │
└───────────────────┘
char far *getdta() 取磁盤轉換地址DTA

void setdta(char far *dta)設置磁盤轉換地址DTA

void getfat(int drive,fatinfo *fatblkp)
本函數返回指定驅動器drive(0=當前,1=A,2=B等)的文件分配表信息
并存入結構fatblkp中,結構如下:
┌──────────────────┐
│struct fatinfo │
│{ │
│ char fi_sclus; /*每個簇扇區數*/ │
│ char fi_fatid; /*文件分配表字節數*/│
│ int fi_nclus; /*簇的數目*/ │
│ int fi_bysec; /*每個扇區字節數*/ │
│} │
└──────────────────┘
void getfatd(struct fatinfo *fatblkp) 本函數返回當前驅動器的文件分配表信息,
并存入結構fatblkp中,結構如下:
┌──────────────────┐
│struct fatinfo │
│{ │
│ char fi_sclus; /*每個簇扇區數*/ │
│ char fi_fatid; /*文件分配表字節數*/│
│ int fi_nclus; /*簇的數目*/ │
│ int fi_bysec; /*每個扇區字節數*/ │
│} │
└──────────────────┘

int bdos(int dosfun,unsigned dosdx,unsigned dosal)本函數對MSDOS系統進行調用,dosdx為寄存器dx的值,dosal為寄存器al的值,dosfun為功能號

int bdosptr(int dosfun,void *argument,unsiigned dosal)本函數對MSDOS系統進行調用,argument為寄存器dx的值,dosal為寄存器al的值,dosfun為功能號

int int86(int intr_num,union REGS *inregs,union REGS *outregs)執行intr_num號中斷,用戶定義的寄存器值存于結構inregs中,執行完后將返回的寄存器值存于結構outregs中.

int int86x(int intr_num,union REGS *inregs,union REGS *outregs,struct SREGS *segregs)執行intr_num號中斷,用戶定義的寄存器值存于
結構inregs中和結構segregs中,執行完后將返回的寄存器值存于結構outregs中.

int intdos(union REGS *inregs,union REGS *outregs)本函數執行DOS中斷0x21來調用一個指定的DOS函數,用戶定義的寄存器值
存于結構inregs中,執行完后函數將返回的寄存器值存于結構outregs中

int intdosx(union REGS *inregs,union REGS *outregs,struct SREGS *segregs)本函數執行DOS中斷0x21來調用一個指定的DOS函數,用戶定義的寄存器值存于結構inregs和segregs中,執行完后函數 將返回的寄存器值存于結構outregs中

void intr(int intr_num,struct REGPACK *preg)本函數中一個備用的8086軟件中斷接口它能產生一個由參數intr_num指定的8086軟件中斷.函數在執行軟件中斷前,從結構preg 復制用戶定義的各寄存器值到各個寄存器.軟件中斷完成后,函數將當前各個寄存器的值復制到結構preg中.參數如下:
intr_num 被執行的中斷號
preg為保存用戶定義的寄存器值的結構,結構如下
┌──────────────────────┐
│struct REGPACK │
│{ │
│ unsigned r_ax,r_bx,r_cx,r_dx; │
│ unsigned r_bp,r_si,r_di,r_ds,r_es,r_flags; │
│} │
└──────────────────────┘
函數執行完后,將新的寄存器值存于結構preg中
void keep(int status,int size)以status狀態返回MSDOS,但程序仍保留于內存中,所占用空間由size決定.

void ctrlbrk(int (*fptr)()) 設置中斷后的對中斷的處理程序.

void disable() 禁止發生中斷

void enable() 允許發生中斷

void geninterrupt(int intr_num)執行由intr_num所指定的軟件中斷

void interrupt(* getvect(int intr_num))() 返回中斷號為intr_num的中斷處理程序,例如: old_int_10h=getvect(0x10);

void setvect(int intr_num,void interrupt(* isr)()) 設置中斷號為intr_num的中斷處理程序為isr,例如: setvect(0x10,new_int_10h);

void harderr(int (*fptr)()) 定義一個硬件錯誤處理程序,每當出現錯誤時就調用fptr所指的程序

void hardresume(int rescode)硬件錯誤處理函數

void hardretn(int errcode) 硬件錯誤處理函數

int inport(int prot) 從指定的輸入端口讀入一個字,并返回這個字

int inportb(int port)從指定的輸入端口讀入一個字節,并返回這個字節

void outport(int port,int word) 將字word寫入指定的輸出端口port

void outportb(int port,char byte)將字節byte寫入指定的輸出端口port

int peek(int segment,unsigned offset) 函數返回segment:offset處的一個字

char peekb(int segment,unsigned offset)函數返回segment:offset處的一個字節

void poke(int segment,int offset,char value) 將字value寫到segment:offset處

void pokeb(int segment,int offset,int value) 將字節value寫到segment:offset處

int randbrd(struct fcb *fcbptr,int reccnt)函數利用打開fcbptr所指的FCB讀reccnt個記錄.

int randbwr(struct fcb *fcbptr,int reccnt)函數將fcbptr所指的FCB中的reccnt個記錄寫到磁盤上

void segread(struct SREGS *segtbl)函數把段寄存器的當前值放進結構segtbl中

int getverify() 取檢驗標志的當前狀態(0=檢驗關閉,1=檢驗打開)

void setverify(int value)設置當前檢驗狀態,value為0表示關閉檢驗,為1表示打開檢驗

int getcbrk()本函數返回控制中斷檢測的當前設置

int setcbrk(int value)本函數用來設置控制中斷檢測為接通或斷開當value=0時,為斷開檢測.當value=1時,為接開檢測

int dosexterr(struct DOSERR *eblkp)取擴展錯誤.在DOS出現錯誤后,此函數將擴充的
錯誤信息填入eblkp所指的DOSERR結構中.該結構定義如下:
┌──────────────┐
│struct DOSERR │
│{ │
│ int exterror;/*擴展錯誤*/ │
│ char class; /*錯誤類型*/ │
│ char action; /*方式*/ │
│ char locus; /*錯誤場所*/ │
│} │
└──────────────┘
int bioscom(int cmd,char type,int port) 本函數負責對數據的通訊工作,
cmd可以為以下值:
0 置通訊參數為字節byte值 1 發送字符通過通訊線輸出
2 從通訊線接受字符 3 返回通訊的當前狀態
port為通訊端口,port=0時通訊端口為COM1,port=1時通訊端口為COM2,以此類推
byte為傳送或接收數據時的參數,為以下位的組合:
┌───┬─────┬───┬─────┬───┬─────┐
│byte值│意義 │byte值│意義 │byte值│意義 │ │
├───┼─────┼───┼─────┼───┼─────┤
│0x02 │7數據位 │0x03 │8數據位 │0x00 │1停止位 │ │
│0x04 │2停止位 │0x00 │無奇偶性 │0x08 │奇數奇偶性│ │
│0x18 │偶數奇偶性│0x00 │110波特 │0x20 │150波特 │ │
│0x40 │300波特 │0x60 │600波特 │0x80 │1200波特 │ │
│0xA0 │2400波特 │0xC0 │4800波特 │0xE0 │9600波特 │ │
└───┴─────┴───┴─────┴───┴─────┘
例如:0xE0|0x08|0x00|0x03即表示置通訊口為9600波特,奇數奇偶性,1停止位,
8數據位.
函數返回值為一個16位整數,定義如下:
第15位 超時
第14位 傳送移位寄存器空
第13位 傳送固定寄存器空
第12位 中斷檢測
第11位 幀錯誤
第10位 奇偶錯誤
第 9位 過載運行錯誤
第 8位 數據就緒
第 7位 接收線信號檢測
第 6位 環形指示器
第 5位 數據設置就緒
第 4位 清除發送
第 3位 δ接收線信號檢測器
第 2位 下降邊環形檢測器
第 1位 δ數據設置就緒
第 0位 δ清除發送

int biosdisk(int cmd,int drive,int head,int track,
int sector,int nsects,void *buffer)
本函數用來對驅動器作一定的操作,cmd為功能號,
drive為驅動器號(0=A,1=B,0x80=C,0x81=D,0x82=E等).cmd可為以下值:
0 重置軟磁盤系統.這強迫驅動器控制器來執行硬復位.忽略所有其它參數.
1 返回最后的硬盤操作狀態.忽略所有其它參數
2 讀一個或多個磁盤扇區到內存.讀開始的扇區由head、track、sector給出。扇區號由nsects給出。把每個扇區512個字節的數據讀入buffer
3 從內存讀數據寫到一個或多個扇區。寫開始的扇區由head、track、sector給出。扇區號由nsects給出。所寫數據在buffer中,每扇區512個字節。
4 檢驗一個或多個扇區。開始扇區由head、track、sector給出。扇區號由nsects給出。
5 格式化一個磁道,該磁道由head和track給出。buffer指向寫在指定track上的扇區磁頭器的一個表。以下cmd值只允許用于XT或AT微機:
6 格式化一個磁道,并置壞扇區標志。
7 格式化指定磁道上的驅動器開頭。
8 返回當前驅動器參數,驅動器信息返回寫在buffer中(以四個字節表示)。
9 初始化一對驅動器特性。
10 執行一個長的讀,每個扇區讀512加4個額外字節
11 執行一個長的寫,每個扇區寫512加4個額外字節
12 執行一個磁盤查找
13 交替磁盤復位
14 讀扇區緩沖區
15 寫扇區緩沖區
16 檢查指定的驅動器是否就緒
17 復核驅動器
18 控制器RAM診斷
19 驅動器診斷
20 控制器內部診
函數返回由下列位組合成的狀態字節:
0x00 操作成功
0x01 壞的命令
0x02 地址標記找不到
0x04 記錄找不到
0x05 重置失敗
0x07 驅動參數活動失敗
0x09 企圖DMA經過64K界限
0x0B 檢查壞的磁盤標記
0x10 壞的ECC在磁盤上讀
0x11 ECC校正的數據錯誤(注意它不是錯誤)
0x20 控制器失效
0x40 查找失敗
0x80 響應的連接失敗
0xBB 出現無定義錯誤
0xFF 讀出操作失敗

int biodquip() 檢查設備,函數返回一字節,該字節每一位表示一個信息,如下:
第15位 打印機號
第14位 打印機號
第13位 未使用
第12位 連接游戲I/O
第11位 RS232端口號
第 8位 未使用
第 7位 軟磁盤號
第 6位 軟磁盤號,
00為1號驅動器,01為2號驅動器,10為3號驅動器,11為4號驅動器
第 5位 初始化
第 4位 顯示器模式
00為未使用,01為40x25BW彩色顯示卡
10為80x25BW彩色顯示卡,11為80x25BW單色顯示卡
第 3位 母扦件
第 2位 隨機存貯器容量,00為16K,01為32K,10為48K,11為64K
第 1位 浮點共用處理器
第 0位 從軟磁盤引導

int bioskey(int cmd)本函數用來執行各種鍵盤操作,由cmd確定操作。
cmd可為以下值:
0 返回敲鍵盤上的下一個鍵。若低8位為非0,即為ASCII字符;若低8位為0,
則返回擴充了的鍵盤代碼。
1 測試鍵盤是否可用于讀。返回0表示沒有鍵可用;否則返回下一次敲鍵之值。
敲鍵本身一直保持由下次調用具的cmd值為0的bioskey所返回的值。
2 返回當前的鍵盤狀態,由返回整數的每一個位表示,見下表:
┌──┬───────────┬───────────┐
│ 位 │為0時意義 │為1時意義 │
├──┼───────────┼───────────┤
│ 7 │插入狀態 │改寫狀態 │
│ 6 │大寫狀態 │小寫狀態 │
│ 5 │數字狀態,NumLock燈亮 │光標狀態,NumLock燈熄 │
│ 4 │ScrollLock燈亮 │ScrollLock燈熄 │
│ 3 │Alt按下 │Alt未按下 │
│ 2 │Ctrl按下 │Ctrl未按下 │
│ 1 │左Shift按下 │左Shift未按下 │
│ 0 │右Shift按下 │右Shift未按下 │
└──┴───────────┴───────────┘
int biosmemory()返回內存大小,以K為單位.

int biosprint(int cmd,int byte,int port)控制打印機的輸入/輸出.
port為打印機號,0為LPT1,1為LPT2,2為LPT3等
cmd可以為以下值:
0 打印字符,將字符byte送到打印機
1 打印機端口初始化
2 讀打印機狀態
函數返回值由以下位值組成表示當前打印機狀態
0x01 設備時間超時
0x08 輸入/輸出錯誤
0x10 選擇的
0x20 走紙
0x40 認可
0x80 不忙碌

int biostime(int cmd,long newtime)計時器控制,cmd為功能號,可為以下值
0 函數返回計時器的當前值
1 將計時器設為新值newtime

struct country *country(int countrycmode,struct country *countryp)
本函數用來控制某一國家的相關信息,如日期,時間,貨幣等.
若countryp=-1時,當前的國家置為countrycode值(必須為非0).否則,由countryp
所指向的country結構用下列的國家相關信息填充:
(1)當前的國家(若countrycode為0或2)由countrycode所給定的國家.
結構country定義如下:
┌────────────────────┐
│struct country │
│{ │
│ int co_date; /*日期格式*/ │
│ char co_curr[5]; /*貨幣符號*/ │
│ char co_thsep[2]; /*數字分隔符*/ │
│ char co_desep[2]; /*小數點*/ │
│ char co_dtsep[2]; /*日期分隔符*/ │
│ char co_tmsep[2]; /*時間分隔符*/ │
│ char co_currstyle; /*貨幣形式*/ │
│ char co_digits; /*有效數字*/ │
│ int (far *co_case)(); /*事件處理函數*/ │
│ char co_dasep; /*數據分隔符*/ │
│ char co_fill[10]; /*補充字符*/ │
│} │
└────────────────────┘
co_date的值所代表的日期格式是:
0 月日年 1 日月年 2 年月日
co_currstrle的值所代表的貨幣顯示方式是
0 貨幣符號在數值前,中間無空格
1 貨幣符號在數值后,中間無空格
2 貨幣符號在數值前,中間有空格
3 貨幣符號在數值后,中間有空格

操作函數,所在函數庫為string.h、mem.h

mem…操作存貯數組
void *memccpy(void *destin,void *source,unsigned char ch,unsigned n)
void *memchr(void *s,char ch,unsigned n)
void *memcmp(void *s1,void *s2,unsigned n)
int memicmp(void *s1,void *s2,unsigned n)
void *memmove(void *destin,void *source,unsigned n)
void *memcpy(void *destin,void *source,unsigned n)
void *memset(void *s,char ch,unsigned n)
這些函數,mem…系列的所有成員均操作存貯數組.在所有這些函數中,數組是n字節長.
memcpy從source復制一個n字節的塊到destin.如果源塊和目標塊重迭,則選擇復制方向,
以例正確地復制覆蓋的字節.

memmove與memcpy相同.

memset將s的所有字節置于字節ch中.s數組的長度由n給出.

memcmp比較正好是n字節長的兩個字符串s1和s2.些函數按無符號字符比較字節,因此,

memcmp("0xFF","\x7F",1)返回值大于0.

memicmp比較s1和s2的前n個字節,不管字符大寫或小寫.

memccpy從source復制字節到destin.復制一結束就發生下列任一情況:
(1)字符ch首選復制到destin.
(2)n個字節已復制到destin.
memchr對字符ch檢索s數組的前n個字節.
返回值:memmove和memcpy返回destin
memset返回s的值
memcmp和memicmp─┬─若s1 ├─若s1=s2返回值等于0
└─若s1>s2返回值大于0
memccpy若復制了ch,則返回直接跟隨ch的在destin中的字節的一個指針;
否則返回NULL
memchr返回在s中首先出現ch的一個指針;如果在s數組中不出現ch,就返回NULL.

void movedata(int segsrc,int offsrc,int segdest,int offdest,unsigned numbytes)
本函數將源地址(segsrc:offsrc)處的numbytes個字節復制到目標地址(segdest:offdest)

void movemem(void *source,void *destin,unsigned len)本函數從source處復制一塊長len字節的數據到destin.若源地址和目標地址字符串重迭,則選擇復制方向,以便正確的復制數據.

void setmem(void *addr,int len,char value)本函數把addr所指的塊的第一個字節置于字節value中.

str…字符串操作函數

char stpcpy(char *dest,const char *src)將字符串src復制到dest

char strcat(char *dest,const char *src)將字符串src添加到dest末尾

char strchr(const char *s,int c)檢索并返回字符c在字符串s中第一次出現的位置

int strcmp(const char *s1,const char *s2)比較字符串s1與s2的大小,并返回s1-s2

char strcpy(char *dest,const char *src)將字符串src復制到dest

size_t strcspn(const char *s1,const char *s2)掃描s1,返回在s1中有,在s2中也有的字符個數

char strdup(const char *s)將字符串s復制到最近建立的單元

int stricmp(const char *s1,const char *s2)比較字符串s1和s2,并返回s1-s2

size_t strlen(const char *s)返回字符串s的長度

char strlwr(char *s)將字符串s中的大寫字母全部轉換成小寫字母,并返回轉換后的字符串

char strncat(char *dest,const char *src,size_t maxlen)將字符串src中最多maxlen個字符復制到字符串dest中

int strncmp(const char *s1,const char *s2,size_t maxlen)比較字符串s1與s2中的前maxlen個字符

char strncpy(char *dest,const char *src,size_t maxlen)復制src中的前maxlen個字符到dest中

int strnicmp(const char *s1,const char *s2,size_t maxlen)比較字符串s1與s2中的前maxlen個字符


char strnset(char *s,int ch,size_t n)將字符串s的前n個字符置于ch中

char strpbrk(const char *s1,const char *s2)掃描字符串s1,并返回在s1和s2中均有的字符個數

char strrchr(const char *s,int c)掃描最后出現一個給定字符c的一個字符串s

char strrev(char *s)將字符串s中的字符全部顛倒順序重新排列,并返回排列后的字符串

char strset(char *s,int ch)將一個字符串s中的所有字符置于一個給定的字符ch

size_t strspn(const char *s1,const char *s2)掃描字符串s1,并返回在s1和s2中均有的字符個數

char strstr(const char *s1,const char *s2)掃描字符串s2,并返回第一次出現s1的位置

char strtok(char *s1,const char *s2)檢索字符串s1,該字符串s1是由字符串s2中定義的定界符所分隔

char strupr(char *s)將字符串s中的小寫字母全部轉換成大寫字母,并返回轉換后的字符串

存貯分配子程序,所在函數庫為dos.h、alloc.h、malloc.h、stdlib.h、process.h

int allocmem(unsigned size,unsigned *seg)利用DOS分配空閑的內存,

size為分配內存大小,seg為分配后的內存指針

int freemem(unsigned seg)釋放先前由allocmem分配的內存,seg為指定的內存指針

int setblock(int seg,int newsize)本函數用來修改所分配的內存長度,seg為已分配內存的內存指針,newsize為新的長度

int brk(void *endds)本函數用來改變分配給調用程序的數據段的空間數量,新的空間結束地址為endds

char *sbrk(int incr)本函數用來增加分配給調用程序的數據段的空間數量,增加incr個字節的空間

unsigned long coreleft() 本函數返回未用的存儲區的長度,以字節為單位

void *calloc(unsigned nelem,unsigned elsize)分配nelem個長度為elsize的內存空間并返回所分配內存的指針

void *malloc(unsigned size)分配size個字節的內存空間,并返回所分配內存的指針

void free(void *ptr)釋放先前所分配的內存,所要釋放的內存的指針為ptr

void *realloc(void *ptr,unsigned newsize)改變已分配內存的大小,ptr為已分配有內存區域的指針,newsize為新的長度,返回分配好的內存指針.

long farcoreleft() 本函數返回遠堆中未用的存儲區的長度,以字節為單位

void far *farcalloc(unsigned long units,unsigned long unitsz)從遠堆分配units個長度為unitsz的內存空間,并返回所分配內存的指針

void *farmalloc(unsigned long size)分配size個字節的內存空間,并返回分配的內存指針

void farfree(void far *block)釋放先前從遠堆分配的內存空間,所要釋放的遠堆內存的指針為block

void far *farrealloc(void far *block,unsigned long newsize)改變已分配的遠堆內存的大小,block為已分配有內存區域的指針,newzie為新的長度,返回分配好的內存指針

時間日期函數,函數庫為time.h、dos.h

在時間日期函數里,主要用到的結構有以下幾個:
總時間日期貯存結構tm
┌──────────────────────┐
│struct tm │
│{ │
│ int tm_sec; /*秒,0-59*/ │
│ int tm_min; /*分,0-59*/ │
│ int tm_hour; /*時,0-23*/ │
│ int tm_mday; /*天數,1-31*/ │
│ int tm_mon; /*月數,0-11*/ │
│ int tm_year; /*自1900的年數*/ │
│ int tm_wday; /*自星期日的天數0-6*/ │
│ int tm_yday; /*自1月1日起的天數,0-365*/ │
│ int tm_isdst; /*是否采用夏時制,采用為正數*/│
│} │
└──────────────────────┘
日期貯存結構date
┌───────────────┐
│struct date │
│{ │
│ int da_year; /*自1900的年數*/│
│ char da_day; /*天數*/ │
│ char da_mon; /*月數 1=Jan*/ │
│} │
└───────────────┘
時間貯存結構time
┌────────────────┐
│struct time │
│{ │
│ unsigned char ti_min; /*分鐘*/│
│ unsigned char ti_hour; /*小時*/│
│ unsigned char ti_hund; │
│ unsigned char ti_sec; /*秒*/ │
│ │
└────────────────┘

char *ctime(long *clock)本函數把clock所指的時間(如由函數time返回的時間)轉換成下列格式的
字符串:Mon Nov 21 11:31:54 1983\n\0

char *asctime(struct tm *tm)本函數把指定的tm結構類的時間轉換成下列格式的字符串:
Mon Nov 21 11:31:54 1983\n\0

double difftime(time_t time2,time_t time1)計算結構time2和time1之間的時間差距(以秒為單位)

struct tm *gmtime(long *clock)本函數把clock所指的時間(如由函數time返回的時間)轉換成格林威治時間,并以tm結構形式返回

struct tm *localtime(long *clock)本函數把clock所指的時間(如函數time返回的時間)轉換成當地標準時間,并以tm結構形式返回

void tzset()本函數提供了對UNIX操作系統的兼容性

long dostounix(struct date *dateptr,struct time *timeptr)本函數將dateptr所指的日期,timeptr所指的時間轉換成UNIX格式,并返回
自格林威治時間1970年1月1日凌晨起到現在的秒數

void unixtodos(long utime,struct date *dateptr,struct time *timeptr)本函數將自格林威治時間1970年1月1日凌晨起到現在的秒數utime轉換成DOS格式并保存于用戶所指的結構dateptr和 timeptr中

void getdate(struct date *dateblk)本函數將計算機內的日期寫入結構dateblk中以供用戶使用

void setdate(struct date *dateblk)本函數將計算機內的日期改成由結構dateblk所指定的日期

void gettime(struct time *timep)本函數將計算機內的時間寫入結構timep中,以供用戶使用

void settime(struct time *timep)本函數將計算機內的時間改為由結構timep所指的時間

long time(long *tloc)本函數給出自格林威治時間1970年1月1日凌晨至現在所經過的秒數,并將該值存于tloc所指的單元中.

int stime(long *tp)本函數將tp所指的時間(例如由time所返回的時間)寫入計算機中.

總結

以上是生活随笔為你收集整理的C库函数简表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

中文字幕中文字幕在线中文字幕三区 | 欧美日韩国产免费视频 | 久久福利剧场 | 在线观看色视频 | 在线视频久久 | 一区二区三区电影 | 精品国产伦一区二区三区观看体验 | 日韩欧美一区二区三区在线 | 999国产 | 成人h视频 | 久久久久久草 | 成人黄在线 | 日韩精品无 | 99精品视频在线观看播放 | 中文字幕一二三区 | 国产精品中文字幕在线 | 天堂av在线免费观看 | 午夜的福利| 亚洲欧洲日韩 | 天天操综合网站 | 欧美日韩国产页 | 手机av在线网站 | 在线观看中文字幕2021 | 欧美精品小视频 | 久久99精品久久久久蜜臀 | 久久久国产一区二区三区四区小说 | 99免费视频 | 69国产盗摄一区二区三区五区 | 国产成人一区二区在线观看 | 日韩黄色在线电影 | 黄色成人毛片 | 亚洲精品tv久久久久久久久久 | 成人日韩av | av在线看片| 永久av免费在线观看 | 91av色| 欧美午夜久久久 | 日日爽天天 | 玖玖玖国产精品 | 国产欧美精品一区二区三区四区 | 蜜臀av夜夜澡人人爽人人桃色 | 日韩精品亚洲专区在线观看 | 草久热 | 久久综合五月婷婷 | 91精品啪在线观看国产81旧版 | 97在线视频网站 | 免费高清男女打扑克视频 | 久久综合色天天久久综合图片 | 在线播放一区二区三区 | 91日本在线播放 | 人人插人人看 | 国产网红在线观看 | 色www精品视频在线观看 | 欧美久久久一区二区三区 | 欧美性色黄大片在线观看 | 午夜精品一区二区三区视频免费看 | 天天射色综合 | 午夜成人影视 | 亚洲精品国产综合99久久夜夜嗨 | 97av色| 中文字幕在线看视频 | 精品一二三四在线 | 91免费观看国产 | 免费看一级黄色大全 | 亚洲区精品| aav在线| 国产精品毛片一区二区 | 综合激情网... | 精品国产理论 | 国产午夜精品免费一区二区三区视频 | 国色天香在线 | 精品久久久久久久久久久久久久久久久久 | 午夜婷婷综合 | 毛片美女网站 | 亚洲国产精品成人综合 | 男女视频久久久 | 99精品在线观看视频 | 五月天久久久 | 国产成人综 | www.五月天婷婷.com | 97色婷婷| 久久久免费看 | 久久91久久久久麻豆精品 | 日韩精品无 | 色五月情| 2021av在线| 在线a人片免费观看视频 | 成人网在线免费视频 | 国产一级免费观看 | 青青看片| 亚洲精品88欧美一区二区 | 操处女逼 | 欧美伦理一区二区 | 999热视频| 国产精品久久久久久爽爽爽 | 亚洲欧洲国产视频 | 在线视频欧美精品 | 精品国产乱码久久久久久浪潮 | 国产永久免费高清在线观看视频 | 中文字幕有码在线观看 | 日韩精品久久久久久久电影竹菊 | 欧美极品xxxxx | 久草视频视频在线播放 | 在线观看国产一区二区 | 天天操天天摸天天干 | 狠狠干婷婷 | 国产一卡在线 | 96av在线视频 | 日日夜夜精品免费 | 午夜色站 | 中文字幕视频 | 亚洲国产欧美一区二区三区丁香婷 | 亚洲视频电影在线 | 色国产精品一区在线观看 | 性色在线视频 | 狠狠狠狠狠狠干 | 久久伊人操 | 亚洲动漫在线观看 | 国产精品网站 | 国产精品久久久久久爽爽爽 | 久久综合婷婷国产二区高清 | 五月婷婷精品 | 国产美女免费观看 | 精品视频不卡 | 福利一区二区三区四区 | 欧美最猛性xxxx | 国产中文字幕在线视频 | 日韩理论电影在线 | 婷婷丁香在线观看 | 蜜桃视频在线视频 | av在线免费观看网站 | 婷色在线 | 自拍超碰在线 | 国产视频一区二区三区在线 | 在线av资源| 精品国产成人在线 | 国产福利不卡视频 | 欧美久久久久久久 | 国产小视频你懂的在线 | 国产成人黄色网址 | 久久综合桃花 | 国产精品亚洲a | 黄视频色网站 | 丁香六月久久综合狠狠色 | 啪啪肉肉污av国网站 | 在线免费中文字幕 | 久草在线视频在线观看 | 久久影院午夜论 | 麻豆传媒视频观看 | 久久不射电影院 | 在线99热| 成年人电影免费看 | 69国产精品成人在线播放 | 亚洲六月丁香色婷婷综合久久 | 天天操夜夜爱 | 欧美一级电影 | 激情网婷婷 | 极品国产91在线网站 | a级一a一级在线观看 | 日本精品在线视频 | 亚洲2019精品 | 九九电影在线 | 欧美日韩视频观看 | 欧美精品在线免费 | 日韩久久影院 | 国产精品女视频 | 欧美激情视频一二区 | 成人高清av在线 | 美女精品网站 | 日本午夜在线亚洲.国产 | 综合色伊人 | 涩涩色亚洲一区 | 亚洲精品高清视频在线观看 | 婷婷色亚洲| 欧美精品日韩 | 久久精品网站视频 | 久草在线视频免赞 | 中文在线免费视频 | 91av福利视频| 久久看视频 | 美女黄网站视频免费 | 久久男人免费视频 | 夜夜操天天操 | 丝袜一区在线 | 国产成人777777 | 国产在线一卡 | 亚洲精品午夜久久久久久久久久久 | 久久久www成人免费精品张筱雨 | 91精品欧美一区二区三区 | 亚洲黄色软件 | 成人免费大片黄在线播放 | 免费在线播放av电影 | 一区在线观看视频 | 成人黄色毛片 | 91久草视频 | 天天搞天天干 | 五月婷婷另类国产 | 日韩av电影网站在线观看 | 超碰个人在线 | av资源免费在线观看 | 久久久综合精品 | 日日爽天天 | 国产999精品久久久久久麻豆 | 美女网站黄在线观看 | 欧美在线观看视频免费 | 麻豆超碰| 免费中午字幕无吗 | 永久免费精品视频 | 久久久久亚洲国产精品 | 亚洲国产日韩在线 | 狠狠操影视 | 亚洲精品自拍 | 欧美韩国在线 | 天天爽天天摸 | 国产精品永久在线 | 黄网站www | 午夜精品一区二区三区免费视频 | 在线观看亚洲电影 | 在线观看的黄色 | 亚洲一区免费在线 | 黄色av电影在线 | 久久久久久久久久电影 | 51久久成人国产精品麻豆 | 日韩成人av在线 | 亚洲精品日韩av | 中文字幕 国产精品 | 国产高清一区二区 | 婷婷激情五月 | 97精品国产97久久久久久免费 | 婷婷丁香激情网 | 97视频久久久 | 91av中文字幕 | 十八岁以下禁止观看的1000个网站 | 手机在线视频福利 | 亚洲精品乱码久久久久v最新版 | 天天草天天插 | 日日干夜夜操视频 | 手机在线观看国产精品 | 97超级碰 | 欧美国产日韩一区二区 | 欧美日韩精品电影 | 大型av综合网站 | 天堂av在线免费观看 | 国产成人中文字幕 | 欧美国产亚洲精品久久久8v | 亚洲精品玖玖玖av在线看 | 欧美在一区| 久草在线免费新视频 | 99 久久久久| 少妇自拍av | 成人xxxx | 一级大片在线观看 | 九九激情视频 | 亚洲精品福利视频 | 久草网免费 | 久久高清免费视频 | www.激情五月.com| 色综合久久综合网 | 久久久噜噜噜久久久 | 中文字幕亚洲欧美日韩 | 96av麻豆蜜桃一区二区 | 91视频链接 | 69国产盗摄一区二区三区五区 | 国产91丝袜在线播放动漫 | 日韩免费观看视频 | 看片黄网站 | 夜夜夜夜夜夜操 | 色射爱| 在线成人中文字幕 | 国产精品自拍av | 日本在线观看一区二区三区 | 在线 国产一区 | 青青河边草手机免费 | 日韩欧美电影 | 激情狠狠干 | 尤物九九久久国产精品的分类 | 国产精品都在这里 | 亚洲涩涩涩涩涩涩 | 国产精国产精品 | 日韩啪啪小视频 | 精品一二三四五区 | 在线观看网站你懂的 | 午夜国产福利在线 | 久久综合色播五月 | 狠狠操狠狠干天天操 | 国产在线日本 | 一本—道久久a久久精品蜜桃 | 久久久亚洲麻豆日韩精品一区三区 | 毛片网站免费在线观看 | 久久精品久久久久 | 4438全国亚洲精品在线观看视频 | 久久久这里有精品 | 国产日韩欧美网站 | 黄污在线看| 国产99在线播放 | 国产自在线 | 久久精品国亚洲 | 狠狠色狠狠色终合网 | 日av免费| 香蕉视频国产在线 | 日本黄色黄网站 | 在线观看午夜av | 岛国av在线不卡 | 国产在线免费 | 国产成人精品综合 | 国产成人一区二区在线观看 | 天天艹日日干 | 国产精品一区二区 91 | 特及黄色片 | 亚洲五月激情 | 亚洲综合成人av | 97碰碰精品嫩模在线播放 | 不卡的av在线播放 | 日韩精品一区二区三区免费观看 | 人人射av| 九九有精品| 亚洲第一区在线播放 | 亚洲综合在线观看视频 | 久久在线免费观看 | 黄色精品国产 | 在线视频你懂得 | 亚洲va欧美va人人爽春色影视 | 久久夜色精品国产欧美一区麻豆 | 国产精品久久久久久久99 | 91九色在线 | 91成人精品国产刺激国语对白 | 91看国产 | 在线电影播放 | 美女黄久久| 狠狠的日日 | 成片人卡1卡2卡3手机免费看 | 久久久精品欧美一区二区免费 | 人人澡人摸人人添学生av | 伊人手机在线 | 精品美女久久久久久免费 | 激情欧美xxxx | 91亚洲影院 | 91精品国产综合久久婷婷香蕉 | 亚洲国产丝袜在线观看 | 久久视频网址 | 久久高视频 | 婷婷99 | 日韩专区中文字幕 | 日韩精品一区二区免费 | 午夜视频色 | 亚洲不卡av一区二区三区 | 日本在线成人 | 综合精品久久 | 毛片美女网站 | 国产最顶级的黄色片在线免费观看 | 欧美a级在线免费观看 | 欧美一级日韩免费不卡 | 国产中文字幕第一页 | 91天天操 | 精品一区二区在线观看 | 美女视频网站久久 | 欧美精品一区二区免费 | 欧美极度另类性三渗透 | 成人午夜剧场在线观看 | 中文久草| av观看久久久 | 午夜精品一区二区国产 | 日韩剧| 欧美日韩免费观看一区=区三区 | 色先锋资源网 | 亚洲精品自拍 | 免费99视频 | 97夜夜澡人人爽人人免费 | 成 人 黄 色 免费播放 | 91在线视频网址 | 亚洲视频在线看 | 日本久久影视 | 婷婷色综合 | 狠狠色伊人亚洲综合网站野外 | 日韩乱色精品一区二区 | 久久 地址| 免费日韩一区 | 成人午夜性影院 | 婷婷色六月天 | 亚洲第一久久久 | 久草视频免费播放 | 亚洲欧洲美洲av | 国产在线一线 | 99精品一区二区三区 | 国产三级精品三级在线观看 | av网站免费在线 | 视频一区视频二区在线观看 | 日韩大片在线 | 免费网址你懂的 | 337p日本大胆噜噜噜噜 | 在线观看国产区 | 日本韩国精品在线 | 中文在线天堂资源 | 国产看片网站 | 亚洲综合色丁香婷婷六月图片 | 日韩欧美视频 | 91精品免费在线观看 | 久久久久久久福利 | 日韩中字在线 | 7777精品伊人久久久大香线蕉 | 国产成人精品女人久久久 | 中文av资源站 | 黄色毛片网站在线观看 | 日韩精品一区二区三区免费观看 | 国产美女黄网站免费 | 狠狠色伊人亚洲综合成人 | 久久精品成人 | 欧美色图视频一区 | 伊人婷婷网| 天天操夜操视频 | 日日色综合 | 青青网视频 | 97人人爽人人 | 人人躁| 日日爱夜夜爱 | www国产在线 | 日批网站在线观看 | 在线色亚洲 | 成年人黄色免费网站 | 欧美另类sm图片 | 超碰在线最新地址 | 一二区电影 | 免费国产一区二区 | 免费观看的黄色 | 欧美高清视频不卡网 | 国精产品一二三线999 | 国产一区二区三区免费在线 | 91亚色视频在线观看 | 欧美一区中文字幕 | 午夜aaaa | 国产精品你懂的在线观看 | 在线观看中文字幕 | 密桃av在线 | 手机成人av| 91精品啪在线观看国产81旧版 | 免费99| 日日日日 | 亚洲深夜影院 | 热精品 | 玖玖国产精品视频 | 欧美激精品 | 国产高清不卡在线 | www夜夜操 | 欧美国产亚洲精品久久久8v | 91麻豆看国产在线紧急地址 | 免费日韩三级 | 午夜私人影院久久久久 | 久久久亚洲国产精品麻豆综合天堂 | 美女福利视频在线 | 99热9 | 97超碰人人澡 | 国产午夜免费视频 | 精品一区电影国产 | 日日操狠狠干 | 五月天丁香视频 | 中文字幕免费一区 | 狠狠夜夜 | 欧美日韩精品影院 | 国产精品每日更新 | 国产精品入口久久 | 99精品视频播放 | 九九视频热| av电影在线观看完整版一区二区 | 亚洲成人黄色在线观看 | 亚洲精品国产高清 | 91亚洲精品在线 | 夜夜视频 | 国产精品欧美日韩在线观看 | 国产精品久久久视频 | 国产小视频在线看 | 久草在线视频网站 | 国产一区二区三区免费视频 | 在线视频欧美日韩 | 亚洲乱码久久久 | 国产剧情在线一区 | 欧美日韩国产在线一区 | 一级电影免费在线观看 | 96久久久| 中文字幕综合在线 | 亚洲网站在线看 | 国产短视频在线播放 | 亚洲国产成人高清精品 | 日本中文字幕在线观看 | 婷婷激情站 | 欧美在线不卡一区 | 日本免费一二三区 | 很黄很黄的网站免费的 | 91视频在线免费观看 | 久久av免费电影 | 精品免费视频. | 久久涩涩网站 | 精品九九九九 | 青青看片 | 亚洲精品在线观看免费 | 亚洲欧美婷婷六月色综合 | 97人人超 | 99精品久久久久久久久久综合 | 色综合激情久久 | 亚洲视频综合 | 在线中文字幕一区二区 | 日韩电影一区二区三区在线观看 | 午夜久久久久久久久久久 | www久久99| 人人干网站 | 特级大胆西西4444www | 人人擦 | 最新婷婷色 | 天天天天天操 | www.久久精品视频 | 黄色在线视频网址 | 久久精品视频网址 | 久久免费电影 | 久久久久久久久久久久国产精品 | 色香com.| 激情久久久久久久久久久久久久久久 | 国产精品女同一区二区三区久久夜 | 免费男女羞羞的视频网站中文字幕 | 日日夜夜噜噜噜 | 狠狠的操你 | 精品久久综合 | 天天干天天做天天操 | 天天干夜夜干 | 激情视频一区二区三区 | 日韩sese| 久久艹99| 日韩在线网 | 精品久久久久久综合日本 | 久久免费看毛片 | 欧美精品首页 | 亚洲黄色在线观看 | 亚洲黄色小说网址 | 国产乱码精品一区二区三区介绍 | 亚洲成av人片一区二区梦乃 | 国产成人精品久久亚洲高清不卡 | www视频免费在线观看 | 亚洲综合射 | 99av国产精品欲麻豆 | 欧美国产日韩一区二区 | 探花视频在线观看 | 国产视频精品网 | 99国内精品 | 欧美日韩国产网站 | 全黄网站 | 最近的中文字幕大全免费版 | 久99久中文字幕在线 | 欧美日韩高清不卡 | 亚洲精品视频一二三 | 国产精品久久久久久久电影 | av色影院| 免费av免费观看 | 久久欧美视频 | 日韩av成人在线观看 | 日韩中文字幕亚洲一区二区va在线 | 久久免费视频播放 | 九九99 | 日本三级人妇 | 欧美日韩午夜爽爽 | 国产精品一区二区三区视频免费 | 久久久久免费精品 | 2020天天干天天操 | 最近日韩免费视频 | 中文字幕国产在线 | av成年人电影 | 天堂在线一区二区三区 | 国产免费观看高清完整版 | 91精品国产高清自在线观看 | 色综合久久综合 | 91.麻豆视频| 午夜精品久久久久 | 欧美激情精品久久久久久变态 | 日韩av电影免费在线观看 | 国产精品成人a免费观看 | 91av手机在线 | 免费污片 | 黄色av电影在线观看 | 欧美日韩在线播放 | 爱爱一区 | 中文字幕 国产专区 | 97夜夜澡人人双人人人喊 | 久久国产一区 | 精品国产一区二区三区噜噜噜 | 91少妇精拍在线播放 | 午夜av在线播放 | 黄网站免费大全入口 | av网站播放 | www国产亚洲精品久久网站 | 99久久婷婷国产综合精品 | 久久高视频 | 激情小说久久 | 日韩有码中文字幕在线 | 最新av网址大全 | 国产精品久久久久久久久久久久午 | 免费av电影网站 | 成人久久综合 | 一级性视频 | 一级黄色电影网站 | 97夜夜澡人人爽人人免费 | 成人免费在线观看电影 | 中文字幕av在线 | 综合精品久久久 | 国产精品乱码高清在线看 | 亚洲精品国产精品国 | 黄色性av| 日韩动漫免费观看高清完整版在线观看 | 亚洲成人免费观看 | 在线播放日韩av | 中文字幕在线播出 | 天天操天天干天天爱 | 日本在线h| 久久精品国产免费 | www黄com| 黄色av一区二区三区 | 最新av在线网站 | 黄色日批网站 | 国产精品高清一区二区三区 | 欧美精品免费在线 | 欧美一二三区在线观看 | 黄色毛片在线 | 日韩欧美在线观看一区二区三区 | 最近日本中文字幕a | 久久久精选 | 中文字幕视频免费观看 | 久久久久久免费网 | 久久在线免费观看 | 婷婷久久丁香 | 欧美一级特黄aaaaaa大片在线观看 | 一区二区视频在线看 | 久久人人爽视频 | 麻豆视频在线播放 | 国产午夜视频在线观看 | 免费在线精品视频 | 久久人人爽人人人人片 | 9992tv成人免费看片 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 午夜精品剧场 | 久久久91精品国产 | 国产免费二区 | 特黄一级毛片 | 成人免费电影 | 综合久久精品 | 久久视频一区二区 | 欧美国产一区在线 | 欧美日韩不卡一区二区三区 | 欧美做受高潮电影o | 久久精品视频在线 | 一区二区三区中文字幕在线观看 | 九九在线国产视频 | 欧美综合在线观看 | 国产日韩在线视频 | 色999精品| 久久久精品99 | 国产精品久久9 | 最近中文国产在线视频 | 蜜臀av在线一区二区三区 | 久久久国产精品成人免费 | 毛片黄色一级 | 香蕉成人在线视频 | www.99久久.com | 国产精品久久久毛片 | 亚洲视频www| 国产精品久久久久四虎 | 一区二区三区www | 字幕网在线观看 | 久久成熟 | 偷拍视频一区 | 欧美日韩久久不卡 | 美女久久精品 | 国产在线不卡精品 | 日韩com| 色播六月天 | 91精品人成在线观看 | 久久视频一区 | 日韩av成人在线观看 | 天天操天天操天天 | 久久久天堂 | 免费视频久久 | 成年人免费在线观看网站 | 国产字幕在线看 | 91九色国产蝌蚪 | 国产精品区在线观看 | 色就是色综合 | 97视频人人 | 主播av在线 | 中文字幕免费观看视频 | 久久久久久久久久久久av | 91亚洲影院| 天天综合天天做 | 亚洲精品欧洲精品 | 国产精品中文字幕av | 日日夜夜综合网 | 亚州av成人 | 天天综合网久久 | 成人av电影免费在线观看 | 黄色毛片在线 | 开心色激情网 | 国产在线第三页 | 国产亚洲情侣一区二区无 | 久久99精品久久久久久久久久久久 | 四虎成人精品永久免费av | 色一级片| 麻豆精品视频在线观看免费 | 欧美亚洲国产精品久久高清浪潮 | av最新资源| 欧美精品乱码久久久久久按摩 | 欧美一二在线 | 久久精品123 | 日日狠狠| 在线影院 国内精品 | 涩涩伊人| 日韩欧美网址 | 九九免费在线视频 | 亚洲精品午夜国产va久久成人 | 亚洲五月婷 | 免费网站黄色 | 国产精品国产三级国产aⅴ入口 | 99精品免费视频 | 一区二区精品在线视频 | 91桃花视频| 亚洲 欧美日韩 国产 中文 | 日日夜夜天天射 | 91在线麻豆| 欧美性视频网站 | 国产成人精品一区二区 | 天天干天天做 | 97人人模人人爽人人少妇 | 欧美成人精品三级在线观看播放 | 日韩女同av | 免费视频三区 | av电影免费在线播放 | 国产亚洲视频在线观看 | 涩涩网站在线播放 | 久久久伊人网 | 欧美在线视频不卡 | 在线观看中文字幕av | 精品视频在线看 | 久久全国免费视频 | 久草免费新视频 | 婷婷在线看 | 韩日电影在线观看 | 国内精品国产三级国产aⅴ久 | 日韩精品一区二区三区免费观看视频 | 九九综合久久 | 亚洲专区路线二 | www.国产在线 | 91麻豆精品 | 黄色小说免费观看 | 国产一级黄大片 | 国产男女无遮挡猛进猛出在线观看 | 国产精品精品国产 | 91在线www | 欧美另类人妖 | 国产精品伦一区二区三区视频 | 国产在线一区观看 | 亚洲美女在线国产 | 精品国产人成亚洲区 | 四虎在线观看视频 | 在线看毛片网站 | 国产91综合一区在线观看 | 丁香视频全集免费观看 | 久久r精品 | 国产精品精品国产 | 免费合欢视频成人app | 日韩欧美一区二区三区在线观看 | 视频在线在亚洲 | 国产精品自产拍在线观看蜜 | 亚洲成人av片在线观看 | 久久免费视频4 | 婷婷在线视频 | 九九久久婷婷 | 日韩欧美国产精品 | 伊人伊成久久人综合网小说 | 亚州国产精品久久久 | 亚洲国产成人久久 | 色福利网站 | 99成人精品 | 国产黑丝一区二区 | 天天干天天插伊人网 | 91色九色 | av看片网址| 麻豆免费视频网站 | 伊人天堂av | 亚洲视频观看 | 亚洲欧洲国产日韩精品 | 国产va饥渴难耐女保洁员在线观看 | 天天干天天插伊人网 | 欧美亚洲精品在线观看 | 手机av看片 | 波多野结衣综合网 | 国产91免费在线 | 久久99久久99久久 | 黄色日本免费 | 亚洲精品女 | 亚洲视频高清 | 国产免费亚洲高清 | 天天做日日爱夜夜爽 | 欧美a级片免费看 | 又大又硬又黄又爽视频在线观看 | 日韩在线观看一区二区 | 婷婷综合电影 | 一区二区三区 亚洲 | 国产乱码精品一区二区蜜臀 | 中文字幕免费一区 | 精品国产视频一区 | 日韩精品中文字幕在线播放 | 成人黄色毛片 | 96精品在线| 婷久久| 欧美一区二区三区特黄 | www国产亚洲精品久久麻豆 | 91伊人久久大香线蕉蜜芽人口 | 欧美aa一级 | 国产无吗一区二区三区在线欢 | 五月婷婷婷婷婷 | 国产成人久| 午夜精品久久久久久99热明星 | 97超碰在线播放 | 在线小视频| 国产精品丝袜久久久久久久不卡 | 国产精品一区二区62 | 一区二区三区精品在线视频 | 麻豆视频在线免费观看 | 国产黑丝一区二区三区 | 成人性生交大片免费看中文网站 | 中文字幕电影网 | a级片久久久 | 三上悠亚一区二区在线观看 | www.色午夜.com | 97人人网 | 国产精品无av码在线观看 | 91精品国自产在线观看欧美 | 98精品国产自产在线观看 | 日本精品视频免费 | 久久久久久久久久久网站 | 亚洲伊人成综合网 | 欧美激情视频一区二区三区免费 | 国产日韩精品一区二区三区 | 最新av电影网站 | 国产亚洲精品久久19p | 99视频一区 | 伊人久久婷婷 | 国产蜜臀av | 成人av资源 | 91精品国产亚洲 | 成人免费观看视频网站 | 欧美成人精品欧美一级乱 | 久草在线视频国产 | 日本中出在线观看 | a√天堂中文在线 | www国产亚洲精品久久麻豆 | 夜夜操天天 | 婷色| 99久久er热在这里只有精品66 | 日日操操操 | 99热在线看 | 在线看毛片网站 | 国产在线91精品 | 日韩精品一区二区三区水蜜桃 | 91亚洲精品久久久蜜桃网站 | 色视频在线免费 | 成人黄色片在线播放 | 精品视频久久久久久 | 久久97久久 | 中文字幕之中文字幕 | 亚洲成人免费观看 | 日韩一区二区三区高清在线观看 | 中国成人一区 | 日本mv大片欧洲mv大片 | 亚洲国产小视频在线观看 | 黄色小网站免费看 | 九九色在线观看 | 久久久久伊人 | 国产美女精品视频免费观看 | 亚洲精品免费观看视频 | 97人人网 | 精品国产自在精品国产精野外直播 | 丁香久久激情 | 99精品欧美一区二区三区 | 免费高清在线观看电视网站 | 久久亚洲影视 | 日韩在线激情 | 久久成人免费 | 久久精品亚洲国产 | 草莓视频在线观看免费观看 | 在线观看视频你懂的 | 91人人爽人人爽人人精88v | 在线观看成人国产 | 日韩精选在线观看 | 偷拍精偷拍精品欧洲亚洲网站 | 免费观看的av网站 | www狠狠| 国内久久久久 | 九九热视频在线免费观看 | 超碰午夜 | 久久国产精品偷 | 国产不卡在线观看视频 | 在线免费观看黄色小说 | 亚洲精品视频在线观看网站 | 久久avav| 婷婷色在线资源 | 在线国产视频一区 | 天天干天天玩天天操 | 免费久久99精品国产婷婷六月 | 一区二区网 | 欧美一级久久 | 久草在线视频看看 | 超碰国产97 | 中文字幕观看av | 免费观看十分钟 | 色噜噜日韩精品欧美一区二区 | 天天色 天天 | 黄色在线观看网站 | 九九九九免费视频 | 日韩精品中文字幕av | 国产亚洲精品久久19p | 久热免费在线 | 九九视频精品免费 | 国产一区二区三区免费在线 | 91精品推荐 | 97在线观看免费视频 | 国产成人精品一区二区三区福利 | 美女视频a美女大全免费下载蜜臀 | 2023国产精品自产拍在线观看 | 成年人免费在线观看网站 | 国产麻豆视频在线观看 | 女人18片毛片90分钟 | 免费视频91蜜桃 | 在线观看蜜桃视频 | 深夜激情影院 | 99精彩视频在线观看免费 | 精品九九久久 | 亚洲欧美日韩国产 | 国产专区精品 | 天天操天天爽天天干 | 一区 在线观看 | av亚洲产国偷v产偷v自拍小说 | 综合网婷婷 | 成人免费xyz网站 | 国产一区二区三区四区大秀 | av.com在线| 日韩在线观看网站 | 日韩欧美视频免费观看 | 天天色天天干天天 | 97在线视频免费观看 | 久久人人爽人人 | 久久精品视频18 | 亚洲精品在线免费观看视频 | 六月激情网 | 久久久91精品国产一区二区精品 | 黄色软件视频大全免费下载 | 日韩黄色免费电影 | 国产美女精品视频 | 久草在线视频首页 | 精品一区二区三区久久 | 国产精品麻豆一区二区三区 | 超碰97中文| 国产精品久久久久久久久久了 | 男女拍拍免费视频 | 国产一区二三区好的 | 91精品无人成人www | 亚洲女同videos | 亚洲精品国产精品久久99 | 在线观看免费福利 | 国产一级a毛片视频爆浆 | 天天色官网 | 国产第一页在线观看 | 探花视频在线版播放免费观看 | 久热久草在线 | 国产中出在线观看 | 五月天狠狠操 | 亚洲理论在线观看电影 | 一区二区三区在线观看中文字幕 | 中文字幕不卡在线88 | 国产资源网 | 日韩理论电影在线 | 久久福利综合 | 91污污视频在线观看 | 日韩羞羞 | 中文字幕av有码 | 色综合久久88 | 99这里只有 | 久久久精品国产免费观看一区二区 | 免费色视频 | 午夜视频在线观看一区 | 国产精品久久一区二区三区, | 国产91成人在在线播放 | 在线观看黄色小视频 | 欧美一区免费在线观看 | 操操操综合 | 一区二区中文字幕在线 | 午夜视频日本 | 婷婷伊人五月天 | 久久精品这里热有精品 | 欧洲亚洲国产视频 | 激情偷乱人伦小说视频在线观看 | а天堂中文最新一区二区三区 | 国产一及片 | 91精品国产乱码在线观看 | 在线影视 一区 二区 三区 |