• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            網(wǎng)絡(luò)服務(wù)器軟件開發(fā)/中間件開發(fā),關(guān)注ACE/ICE/boost

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              152 Posts :: 3 Stories :: 172 Comments :: 0 Trackbacks

            Turbo C 2.0 函數(shù)中文說明大全系列

                                                  

            ================分類函數(shù)(原型聲明所在頭文件為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是小寫字母('a'-'z')返回非0值,否則返回0
            int isprint(int ch)  若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否則返回0
            int ispunct(int ch)  若ch是標(biāo)點字符(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進制數(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')

            ========數(shù)學(xué)函數(shù)(原型聲明所在頭文件為math.h、stdlib.h、string.h、float.h)===========
            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)            初始化隨機數(shù)發(fā)生器
            int     rand()                         產(chǎn)生一個隨機數(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)換成浮點數(shù)并返回這個浮點數(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)
                     將浮點數(shù)value轉(zhuǎn)換成字符串并返回該字符串
            char   *fcvt(double value,int ndigit,int *decpt,int *sign)
                     將浮點數(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()   清除浮點狀態(tài)字并返回原來的浮點狀態(tài)
            void         _fpreset()   重新初使化浮點數(shù)學(xué)程序包
            unsigned int _status87()  返回浮點狀態(tài)字

            ============目錄函數(shù)(原型聲明所在頭文件為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為指定的保存文件信息的一個結(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等),擴展名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等),擴展名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

            ===========進程函數(shù)(原型聲明所在頭文件為stdlib.h、process.h)===========
            void  abort() 此函數(shù)通過調(diào)用具有出口代碼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函數(shù)族裝入并運行程序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,允許改變子進程的環(huán)境,
                               無后綴e時,子進程使用當(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…運行子程序
            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模式下運行子程序pathname,并將參數(shù)
                    arg0(arg1,arg2,argv[],envp[])傳遞給子程序.出錯返回-1
                   mode為運行模式
                    mode為 P_WAIT   表示在子程序運行完后返回本程序
                           P_NOWAIT 表示在子程序運行時同時運行本程序(不可用)
                           P_OVERLAY表示在本程序退出后運行子程序
                    在spawn函數(shù)族中,后綴l、v、p、e添加到spawn后,
                    所指定的函數(shù)將具有某種操作能力
                    有后綴 p時, 函數(shù)利用DOS的PATH查找子程序文件
                           l時, 函數(shù)傳遞的參數(shù)個數(shù)固定.
                           v時, 函數(shù)傳遞的參數(shù)個數(shù)不固定.
                           e時, 指定參數(shù)envp可以傳遞給子程序,允許改變子程序運行環(huán)境.
                              當(dāng)無后綴e時,子程序使用本程序的環(huán)境.

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

            ======轉(zhuǎn)換子程序(函數(shù)原型所在頭文件為math.h、stdlib.h、ctype.h、float.h)========
            char   *ecvt(double value,int ndigit,int *decpt,int *sign)
                     將浮點數(shù)value轉(zhuǎn)換成字符串并返回該字符串
            char   *fcvt(double value,int ndigit,int *decpt,int *sign)
                     將浮點數(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')
            ======轉(zhuǎn)換子程序(函數(shù)原型所在頭文件為math.h、stdlib.h、ctype.h、float.h)========
            char   *ecvt(double value,int ndigit,int *decpt,int *sign)
                     將浮點數(shù)value轉(zhuǎn)換成字符串并返回該字符串
            char   *fcvt(double value,int ndigit,int *decpt,int *sign)
                     將浮點數(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')
            ==========診斷函數(shù)(函數(shù)原型所在頭文件為assert.h、math.h)===========
            void   assert(int test) 一個擴展成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ù)(沒有必要使用)
            =========輸入輸出子程序(函數(shù)原型所在頭文件為io.h、conio.h、stat.h、dos.h、stdio.h、signal.h)=========
            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ù)進行
                   賦值,使用BIOS進行輸出
            int   vscanf(char *format,Valist param)從控制臺讀入一個字符串,分別對各個參數(shù)進行
                   賦值,使用BIOS進行輸出,參數(shù)從Valist param中取得
            int   cscanf(char *format[,argument…])從控制臺讀入一個字符串,分別對各個參數(shù)進行
                   賦值,直接對控制臺作操作,比如顯示器在顯示時字符時即為直接寫頻方式顯示
            int   sscanf(char *string,char *format[,argument,…])通過字符串string,分別對各個
                   參數(shù)進行賦值
            int   vsscanf(char *string,char *format,Vlist param)通過字符串string,分別對各個
                   參數(shù)進行賦值,參數(shù)從Vlist param中取得
            int   puts(char *string)  發(fā)關(guān)一個字符串string給控制臺(顯示器),
                   使用BIOS進行輸出
            void  cputs(char *string) 發(fā)送一個字符串string給控制臺(顯示器),
                   直接對控制臺作操作,比如顯示器即為直接寫頻方式顯示
            int   printf(char *format[,argument,…]) 發(fā)送格式化字符串輸出給控制臺(顯示器)
                   使用BIOS進行輸出
            int   vprintf(char *format,Valist param) 發(fā)送格式化字符串輸出給控制臺(顯示器)
                   使用BIOS進行輸出,參數(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   │把argcx字節(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)志可顯示地給出以二進制方式打開文件  │
                    │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進行操作.
            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所表示的文件處理,handle是從_creat、creat、
                   creatnew、creattemp、dup、dup2、_open、open中的一個處調(diào)用獲得的文件處理
                   成功返回0否則返回-1,只能用于MSDOS系統(tǒng)

            FILE *fopen(char *filename,char *type) 打開一個文件filename,打開方式為type,
                    并返回這個文件指針,type可為以下字符串加上后綴
                  ┌──┬────┬───────┬────────┐
                  │type│讀寫性  │文本/2進制文件│建新/打開舊文件 │
                  ├──┼────┼───────┼────────┤
                  │r   │讀      │文本          │打開舊的文件    │
                  │w   │寫      │文本          │建新文件        │
                  │a   │添加    │文本          │有就打開無則建新│
                  │r+  │讀/寫   │不限制        │打開            │
                  │w+  │讀/寫   │不限制        │建新文件        │
                  │a+  │讀/添加 │不限制        │有就打開無則建新│
                  └──┴────┴───────┴────────┘
                  可加的后綴為t、b。加b表示文件以二進制形式進行操作,t沒必要使用
                  例: ┌──────────────────┐
                      │#include<stdio.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中讀一個字符,并返回這個字符
            int   putc(int ch,FILE *stream)向流stream寫入一個字符ch
            int   getw(FILE *stream) 從流stream讀入一個整數(shù),錯誤返回EOF
            int   putw(int w,FILE *stream)向流stream寫入一個整數(shù)
            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中
                   讀入一個字符串,參數(shù)從Valist param中取得
            int   fprintf(FILE *stream,char *format[,argument,…])  以格式化形式將一個字符
                   串寫給指定的流stream
            int   vfprintf(FILE *stream,char *format,Valist param)  以格式化形式將一個字符
                   串寫給指定的流stream,參數(shù)從Valist param中取得
            int   fseek(FILE *stream,long offset,int fromwhere) 函數(shù)把文件指針移到fromwhere
                   所指位置的向后offset個字節(jié)處,fromwhere可以為以下值:
                   SEEK_SET 文件開關(guān)   SEEK_CUR 當(dāng)前位置   SEEK_END 文件尾
            long  ftell(FILE *stream)  函數(shù)返回定位在stream中的當(dāng)前文件指針位置,以字節(jié)表示
            int   rewind(FILE *stream) 將當(dāng)前文件指針stream移到文件開頭
            int   feof(FILE *stream) 檢測流stream上的文件指針是否在結(jié)束位置
            int   fileno(FILE *stream) 取流stream上的文件處理,并返回文件處理
            int   ferror(FILE *stream) 檢測流stream上是否有讀寫錯誤,如有錯誤就返回1
            void  clearerr(FILE *stream) 清除流stream上的讀寫錯誤
            void  setbuf(FILE *stream,char *buf) 給流stream指定一個緩沖區(qū)buf
            void  setvbuf(FILE *stream,char *buf,int type,unsigned size)
                   給流stream指定一個緩沖區(qū)buf,大小為size,類型為type,type的值見下表
                  ┌───┬───────────────────────────────┐
                  │type值│意義                                                          │
                  ├───┼───────────────────────────────┤
                  │_IOFBF│文件是完全緩沖區(qū),當(dāng)緩沖區(qū)是空時,下一個輸入操作將企圖填滿整個緩│
                  │      │沖區(qū).在輸出時,在把任何數(shù)據(jù)寫到文件之前,將完全填充緩沖區(qū).      │
                  │_IOLBF│文件是行緩沖區(qū).當(dāng)緩沖區(qū)為空時,下一個輸入操作將仍然企圖填整個緩│
                  │      │沖區(qū).然而在輸出時,每當(dāng)新行符寫到文件,緩沖區(qū)就被清洗掉.        │
                  │_IONBF│文件是無緩沖的.buf和size參數(shù)是被忽略的.每個輸入操作將直接從文 │
                  │      │件讀,每個輸出操作將立即把數(shù)據(jù)寫到文件中.                      │
                  └───┴───────────────────────────────┘
            int   fclose(FILE *stream) 關(guān)閉一個流,可以是文件或設(shè)備(例如LPT1)
            int   fcloseall()          關(guān)閉所有除stdin或stdout外的流
            int   fflush(FILE *stream) 關(guān)閉一個流,并對緩沖區(qū)作處理
                    處理即對讀的流,將流內(nèi)內(nèi)容讀入緩沖區(qū);
                    對寫的流,將緩沖區(qū)內(nèi)內(nèi)容寫入流。成功返回0
            int   fflushall()          關(guān)閉所有流,并對流各自的緩沖區(qū)作處理
                    處理即對讀的流,將流內(nèi)內(nèi)容讀入緩沖區(qū);
                    對寫的流,將緩沖區(qū)內(nèi)內(nèi)容寫入流。成功返回0

            int   access(char *filename,int amode) 本函數(shù)檢查文件filename并返回文件的屬性,
                    函數(shù)將屬性存于amode中,amode由以下位的組合構(gòu)成
                      06可以讀、寫       04可以讀   02可以寫   01執(zhí)行(忽略的)   00文件存在
                  如果filename是一個目錄,函數(shù)將只確定目錄是否存在
                  函數(shù)執(zhí)行成功返回0,否則返回-1
            int   chmod(char *filename,int permiss) 本函數(shù)用于設(shè)定文件filename的屬性
                    permiss可以為以下值
                       S_IWRITE允許寫  S_IREAD允許讀  S_IREAD|S_IWRITE允許讀、寫
            int  _chmod(char *filename,int func[,int attrib]);
                   本函數(shù)用于讀取或設(shè)定文件filename的屬性,
                   當(dāng)func=0時,函數(shù)返回文件的屬性;當(dāng)func=1時,函數(shù)設(shè)定文件的屬性
                   若為設(shè)定文件屬性,attrib可以為下列常數(shù)之一
                   FA_RDONLY只讀  FA_HIDDEN隱藏  FA_SYSTEM系統(tǒng)
            ============接口子程序(函數(shù)原型所在頭文件為:dos.h、bios.h)============
            unsigned sleep(unsigned seconds)暫停seconds微秒(百分之一秒)
            int      unlink(char *filename)刪除文件filename
            unsigned FP_OFF(void far *farptr)本函數(shù)用來取遠指針farptr的偏移量
            unsigned FP_SEG(void far *farptr)本函數(shù)用來沒置遠指針farptr的段值
            void far *MK_FP(unsigned seg,unsigned off)根據(jù)段seg和偏移量off構(gòu)造一個far指針
            unsigned getpsp()取程序段前綴的段地址,并返回這個地址
            char *parsfnm(char *cmdline,struct fcb *fcbptr,int option)
                   函數(shù)分析一個字符串,通常,對一個文件名來說,是由cmdline所指的一個命令行.
                   文件名是放入一個FCB中作為一個驅(qū)動器,文件名和擴展名.FCB是由fcbptr所指
                   定的.option參數(shù)是DOS分析系統(tǒng)調(diào)用時,AL文本的值.

            int   absread(int drive,int nsects,int sectno,void *buffer)本函數(shù)功能為讀特定的
                   磁盤扇區(qū),drive為驅(qū)動器號(0=A,1=B等),nsects為要讀的扇區(qū)數(shù),sectno為開始的邏
                   輯扇區(qū)號,buffer為保存所讀數(shù)據(jù)的保存空間
            int   abswrite(int drive,int nsects,int sectno,void *buffer)本函數(shù)功能為寫特定的
                   磁盤扇區(qū),drive為驅(qū)動器號(0=A,1=B等),nsects為要寫的扇區(qū)數(shù),sectno為開始的邏
                   輯扇區(qū)號,buffer為保存所寫數(shù)據(jù)的所在空間
            void  getdfree(int drive,struct dfree *dfreep)本函數(shù)用來取磁盤的自由空間,
                   drive為磁盤號(0=當(dāng)前,1=A等).函數(shù)將磁盤特性的由dfreep指向的dfree結(jié)構(gòu)中.
                   dfree結(jié)構(gòu)如下:
                   ┌───────────────────┐
                   │struct dfree                          │
                   │{                                     │
                   │ unsigned df_avail; /*有用簇個數(shù)*/    │
                   │ unsigned df_total; /*總共簇個數(shù)*/    │
                   │ unsigned df_bsec;  /*每個扇區(qū)字節(jié)數(shù)*/│
                   │ unsigned df_sclus; /*每個簇扇區(qū)數(shù)*/  │
                   │}                                     │
                   └───────────────────┘
            char far *getdta()             取磁盤轉(zhuǎn)換地址DTA
            void      setdta(char far *dta)設(shè)置磁盤轉(zhuǎn)換地址DTA
            void  getfat(int drive,fatinfo *fatblkp)
                   本函數(shù)返回指定驅(qū)動器drive(0=當(dāng)前,1=A,2=B等)的文件分配表信息
                   并存入結(jié)構(gòu)fatblkp中,結(jié)構(gòu)如下:
                   ┌──────────────────┐
                   │struct fatinfo                      │
                   │{                                   │
                   │ char fi_sclus; /*每個簇扇區(qū)數(shù)*/    │
                   │ char fi_fatid; /*文件分配表字節(jié)數(shù)*/│
                   │ int  fi_nclus; /*簇的數(shù)目*/        │
                   │ int  fi_bysec; /*每個扇區(qū)字節(jié)數(shù)*/  │
                   │}                                   │
                   └──────────────────┘
            void  getfatd(struct fatinfo *fatblkp) 本函數(shù)返回當(dāng)前驅(qū)動器的文件分配表信息,
                   并存入結(jié)構(gòu)fatblkp中,結(jié)構(gòu)如下:           
                   ┌──────────────────┐
                   │struct fatinfo                      │
                   │{                                   │
                   │ char fi_sclus; /*每個簇扇區(qū)數(shù)*/    │
                   │ char fi_fatid; /*文件分配表字節(jié)數(shù)*/│
                   │ int  fi_nclus; /*簇的數(shù)目*/        │
                   │ int  fi_bysec; /*每個扇區(qū)字節(jié)數(shù)*/  │
                   │}                                   │
                   └──────────────────┘

            int   bdos(int dosfun,unsigned dosdx,unsigned dosal)本函數(shù)對MSDOS系統(tǒng)進行調(diào)用,
                   dosdx為寄存器dx的值,dosal為寄存器al的值,dosfun為功能號
            int   bdosptr(int dosfun,void *argument,unsiigned dosal)本函數(shù)對MSDOS系統(tǒng)進行調(diào)用,
                   argument為寄存器dx的值,dosal為寄存器al的值,dosfun為功能號
            int   int86(int intr_num,union REGS *inregs,union REGS *outregs)
                   執(zhí)行intr_num號中斷,用戶定義的寄存器值存于結(jié)構(gòu)inregs中,
                   執(zhí)行完后將返回的寄存器值存于結(jié)構(gòu)outregs中.
            int   int86x(int intr_num,union REGS *inregs,union REGS *outregs,
                         struct SREGS *segregs)執(zhí)行intr_num號中斷,用戶定義的寄存器值存于
                   結(jié)構(gòu)inregs中和結(jié)構(gòu)segregs中,執(zhí)行完后將返回的寄存器值存于結(jié)構(gòu)outregs中.
            int   intdos(union REGS *inregs,union REGS *outregs)
                   本函數(shù)執(zhí)行DOS中斷0x21來調(diào)用一個指定的DOS函數(shù),用戶定義的寄存器值
                   存于結(jié)構(gòu)inregs中,執(zhí)行完后函數(shù)將返回的寄存器值存于結(jié)構(gòu)outregs中
            int   intdosx(union REGS *inregs,union REGS *outregs,struct SREGS *segregs)
                   本函數(shù)執(zhí)行DOS中斷0x21來調(diào)用一個指定的DOS函數(shù),用戶定義的寄存器值
                   存于結(jié)構(gòu)inregs和segregs中,執(zhí)行完后函數(shù)將返回的寄存器值存于結(jié)構(gòu)outregs中
            void  intr(int intr_num,struct REGPACK *preg)本函數(shù)中一個備用的8086軟件中斷接口
                   它能產(chǎn)生一個由參數(shù)intr_num指定的8086軟件中斷.函數(shù)在執(zhí)行軟件中斷前,
                   從結(jié)構(gòu)preg復(fù)制用戶定義的各寄存器值到各個寄存器.軟件中斷完成后,
                   函數(shù)將當(dāng)前各個寄存器的值復(fù)制到結(jié)構(gòu)preg中.參數(shù)如下:
                   intr_num 被執(zhí)行的中斷號
                   preg為保存用戶定義的寄存器值的結(jié)構(gòu),結(jié)構(gòu)如下
                   ┌──────────────────────┐
                   │struct REGPACK                              │
                   │{                                           │
                   │ unsigned r_ax,r_bx,r_cx,r_dx;              │
                   │ unsigned r_bp,r_si,r_di,r_ds,r_es,r_flags; │
                   │}                                           │
                   └──────────────────────┘
                   函數(shù)執(zhí)行完后,將新的寄存器值存于結(jié)構(gòu)preg中
            void  keep(int status,int size)以status狀態(tài)返回MSDOS,但程序仍保留于內(nèi)存中,所占
                   用空間由size決定.
            void  ctrlbrk(int (*fptr)()) 設(shè)置中斷后的對中斷的處理程序.
            void  disable() 禁止發(fā)生中斷
            void  enable()  允許發(fā)生中斷
            void  geninterrupt(int intr_num)執(zhí)行由intr_num所指定的軟件中斷
            void  interrupt(* getvect(int intr_num))() 返回中斷號為intr_num的中斷處理程序,
                   例如: old_int_10h=getvect(0x10);
            void  setvect(int intr_num,void interrupt(* isr)()) 設(shè)置中斷號為intr_num的中
                   斷處理程序為isr,例如: setvect(0x10,new_int_10h);
            void  harderr(int (*fptr)()) 定義一個硬件錯誤處理程序,
                   每當(dāng)出現(xiàn)錯誤時就調(diào)用fptr所指的程序
            void  hardresume(int rescode)硬件錯誤處理函數(shù)
            void  hardretn(int errcode)  硬件錯誤處理函數(shù)
            int   inport(int prot) 從指定的輸入端口讀入一個字,并返回這個字
            int   inportb(int port)從指定的輸入端口讀入一個字節(jié),并返回這個字節(jié)
            void  outport(int port,int word) 將字word寫入指定的輸出端口port
            void  outportb(int port,char byte)將字節(jié)byte寫入指定的輸出端口port
            int   peek(int segment,unsigned offset) 函數(shù)返回segment:offset處的一個字
            char  peekb(int segment,unsigned offset)函數(shù)返回segment:offset處的一個字節(jié)
            void  poke(int segment,int offset,char value) 將字value寫到segment:offset處
            void  pokeb(int segment,int offset,int value) 將字節(jié)value寫到segment:offset處
            int   randbrd(struct fcb *fcbptr,int reccnt)
                   函數(shù)利用打開fcbptr所指的FCB讀reccnt個記錄.
            int   randbwr(struct fcb *fcbptr,int reccnt)
                   函數(shù)將fcbptr所指的FCB中的reccnt個記錄寫到磁盤上
            void  segread(struct SREGS *segtbl)函數(shù)把段寄存器的當(dāng)前值放進結(jié)構(gòu)segtbl中
            int   getverify()         取檢驗標(biāo)志的當(dāng)前狀態(tài)(0=檢驗關(guān)閉,1=檢驗打開)
            void  setverify(int value)設(shè)置當(dāng)前檢驗狀態(tài),
                   value為0表示關(guān)閉檢驗,為1表示打開檢驗
            int   getcbrk()本函數(shù)返回控制中斷檢測的當(dāng)前設(shè)置
            int   setcbrk(int value)本函數(shù)用來設(shè)置控制中斷檢測為接通或斷開
                   當(dāng)value=0時,為斷開檢測.當(dāng)value=1時,為接開檢測

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

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

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

            int   bioskey(int cmd)本函數(shù)用來執(zhí)行各種鍵盤操作,由cmd確定操作。
                   cmd可為以下值:
                   0 返回敲鍵盤上的下一個鍵。若低8位為非0,即為ASCII字符;若低8位為0,
                     則返回擴充了的鍵盤代碼。
                   1 測試鍵盤是否可用于讀。返回0表示沒有鍵可用;否則返回下一次敲鍵之值。
                     敲鍵本身一直保持由下次調(diào)用具的cmd值為0的bioskey所返回的值。
                   2 返回當(dāng)前的鍵盤狀態(tài),由返回整數(shù)的每一個位表示,見下表:
                    ┌──┬───────────┬───────────┐
                    │ 位 │為0時意義             │為1時意義             │
                    ├──┼───────────┼───────────┤
                    │ 7  │插入狀態(tài)              │改寫狀態(tài)              │
                    │ 6  │大寫狀態(tài)              │小寫狀態(tài)              │
                    │ 5  │數(shù)字狀態(tài),NumLock燈亮 │光標(biāo)狀態(tài),NumLock燈熄 │
                    │ 4  │ScrollLock燈亮        │ScrollLock燈熄        │
                    │ 3  │Alt按下               │Alt未按下             │
                    │ 2  │Ctrl按下              │Ctrl未按下            │
                    │ 1  │左Shift按下           │左Shift未按下         │
                    │ 0  │右Shift按下           │右Shift未按下         │
                    └──┴───────────┴───────────┘
            int   biosmemory()返回內(nèi)存大小,以K為單位.
            int   biosprint(int cmd,int byte,int port)控制打印機的輸入/輸出.
                   port為打印機號,0為LPT1,1為LPT2,2為LPT3等
                   cmd可以為以下值:
                     0 打印字符,將字符byte送到打印機
                     1 打印機端口初始化
                     2 讀打印機狀態(tài)
                   函數(shù)返回值由以下位值組成表示當(dāng)前打印機狀態(tài)
                     0x01 設(shè)備時間超時
                     0x08 輸入/輸出錯誤
                     0x10 選擇的
                     0x20 走紙
                     0x40 認可
                     0x80 不忙碌

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

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

            =============操作函數(shù)(函數(shù)原型所在頭文件為string.h、mem.h)==============
            mem…操作存貯數(shù)組
            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)
            這些函數(shù),mem…系列的所有成員均操作存貯數(shù)組.在所有這些函數(shù)中,數(shù)組是n字節(jié)長.
            memcpy從source復(fù)制一個n字節(jié)的塊到destin.如果源塊和目標(biāo)塊重迭,則選擇復(fù)制方向,
              以例正確地復(fù)制覆蓋的字節(jié).
            memmove與memcpy相同.
            memset將s的所有字節(jié)置于字節(jié)ch中.s數(shù)組的長度由n給出.
            memcmp比較正好是n字節(jié)長的兩個字符串s1和s2.些函數(shù)按無符號字符比較字節(jié),因此,
              memcmp("0xFF","\x7F",1)返回值大于0.
            memicmp比較s1和s2的前n個字節(jié),不管字符大寫或小寫.
            memccpy從source復(fù)制字節(jié)到destin.復(fù)制一結(jié)束就發(fā)生下列任一情況:
              (1)字符ch首選復(fù)制到destin.
              (2)n個字節(jié)已復(fù)制到destin.
            memchr對字符ch檢索s數(shù)組的前n個字節(jié).
            返回值:memmove和memcpy返回destin
                   memset返回s的值
                   memcmp和memicmp─┬─若s1<s2返回值小于0
                                    ├─若s1=s2返回值等于0
                                    └─若s1>s2返回值大于0
                   memccpy若復(fù)制了ch,則返回直接跟隨ch的在destin中的字節(jié)的一個指針;
                          否則返回NULL
                   memchr返回在s中首先出現(xiàn)ch的一個指針;如果在s數(shù)組中不出現(xiàn)ch,就返回NULL.

            void  movedata(int segsrc,int offsrc,
                           int segdest,int offdest,
                           unsigned numbytes)
                   本函數(shù)將源地址(segsrc:offsrc)處的numbytes個字節(jié)
                   復(fù)制到目標(biāo)地址(segdest:offdest)
            void  movemem(void *source,void *destin,unsigned len)
                   本函數(shù)從source處復(fù)制一塊長len字節(jié)的數(shù)據(jù)到destin.若源地址和目標(biāo)地址字符串
                   重迭,則選擇復(fù)制方向,以便正確的復(fù)制數(shù)據(jù).
            void  setmem(void *addr,int len,char value)
                   本函數(shù)把addr所指的塊的第一個字節(jié)置于字節(jié)value中.

            str…字符串操作函數(shù)
            char   stpcpy(char *dest,const char *src)
                    將字符串src復(fù)制到dest
            char   strcat(char *dest,const char *src)
                    將字符串src添加到dest末尾
            char   strchr(const char *s,int c)
                    檢索并返回字符c在字符串s中第一次出現(xiàn)的位置
            int    strcmp(const char *s1,const char *s2)
                    比較字符串s1與s2的大小,并返回s1-s2
            char   strcpy(char *dest,const char *src)
                    將字符串src復(fù)制到dest
            size_t strcspn(const char *s1,const char *s2)
                    掃描s1,返回在s1中有,在s2中也有的字符個數(shù)
            char   strdup(const char *s)
                    將字符串s復(fù)制到最近建立的單元
            int    stricmp(const char *s1,const char *s2)
                    比較字符串s1和s2,并返回s1-s2
            size_t strlen(const char *s)
                    返回字符串s的長度
            char   strlwr(char *s)
                    將字符串s中的大寫字母全部轉(zhuǎn)換成小寫字母,并返回轉(zhuǎn)換后的字符串
            char   strncat(char *dest,const char *src,size_t maxlen)
                    將字符串src中最多maxlen個字符復(fù)制到字符串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)
                    復(fù)制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中均有的字符個數(shù)
            char   strrchr(const char *s,int c)
                    掃描最后出現(xiàn)一個給定字符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中均有的字符個數(shù)
            char   strstr(const char *s1,const char *s2)
                    掃描字符串s2,并返回第一次出現(xiàn)s1的位置
            char   strtok(char *s1,const char *s2)
                    檢索字符串s1,該字符串s1是由字符串s2中定義的定界符所分隔
            char   strupr(char *s)
                    將字符串s中的小寫字母全部轉(zhuǎn)換成大寫字母,并返回轉(zhuǎn)換后的字符串

             

            【作者: jeejar】【訪問統(tǒng)計: 12】【2005年12月27日 星期二 20:53】【 加入博采】【打印

            posted on 2007-05-20 17:17 true 閱讀(455) 評論(0)  編輯 收藏 引用 所屬分類: C++基礎(chǔ)
            26uuu久久五月天| 99久久精品费精品国产| 久久久久国产精品熟女影院| 久久久无码人妻精品无码| 99久久99久久久精品齐齐| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 天天综合久久一二三区| 亚洲伊人久久大香线蕉综合图片| 久久国产精品成人片免费| 久久精品国产亚洲AV不卡| 日本WV一本一道久久香蕉| 精品久久久久久综合日本| 久久人人爽人人爽人人av东京热 | 国产精品9999久久久久| 久久青青草原亚洲av无码| 国产V综合V亚洲欧美久久| 亚洲综合久久久| 色成年激情久久综合| 欧洲精品久久久av无码电影| 久久国产精品视频| 久久精品国产精品国产精品污 | 99久久人人爽亚洲精品美女| 亚洲AV无码成人网站久久精品大| 国産精品久久久久久久| 久久电影网一区| 国产精品免费福利久久| 综合人妻久久一区二区精品| 亚洲精品成人久久久| 国产精品成人精品久久久| 精品久久久久久亚洲精品| 97精品依人久久久大香线蕉97| 久久99精品久久久久久水蜜桃 | 99久久国产免费福利| 久久久久久无码Av成人影院| 久久99九九国产免费看小说| 久久综合伊人77777| 久久久久一本毛久久久| 久久久免费观成人影院| 国内精品久久久久国产盗摄| 久久97久久97精品免视看| 国产毛片久久久久久国产毛片|