论坛积分策略 论坛VIP区开放申请 我爱电脑万人签名活动 原声大碟520欢迎你 广告位招租
发新话题
打印

[c语言] Turbo C 函数中文说明大全

Turbo C 函数中文说明大全

Turbo C 函数中文说明大全分类函数,所在函数库为ctype.h
0 Z& Z$ q$ l3 x( {+ lwww.520diannao.comint isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 打造最好的电脑自学交流论坛! @4 z) D1 Z7 r. u- Y: L
int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站5 o7 w  I7 a8 @% L$ Q) d
返回0 ' l4 n6 h; B  W. l
int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0 我爱电脑技术社区--打造最好的电脑技术自学交流平台5 s7 ]! `. T: q. \/ |
int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F),返回非0值,否则返回0
, q4 `& F# C3 w% w0 ~& `int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0
1 B+ N9 B$ t7 Q5 dint isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站1 H* ], I0 [. h; F5 E7 m2 y6 V+ Z
int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0 ( @) N8 }1 }1 ^
int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0 8 @! U% n/ U( i# s) d- k
int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0 我爱电脑技术社区--打造最好的电脑技术自学交流平台$ d- z' d, [/ @* L0 Y8 u
int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换行('
9 Z$ R* w( ~$ U9 @* a4 O4 ], bwww.520diannao.com\f'),垂直制表符('\v'),换行符('\n'), 返回非0值,否则返回0 打造最好的电脑自学交流论坛7 _( O5 p& z* A% }$ b; {
int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0
/ W7 J5 p* Y0 m, B' k4 wwww.520diannao.comint isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则返www.520diannao.com% ^6 r5 f  r9 ^+ z( p1 H7 }
回0 我爱电脑技术社区--打造最好的电脑技术自学交流平台  l+ P+ Q+ Y1 s- i& x& ^' x9 ^6 h# h" Y8 _
int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z')
( B' x% C( i5 r$ C9 G7 Z打造最好的电脑自学交流论坛int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z') 我爱电脑技术论坛* R4 q4 b( n5 l
数学函数,所在函数库为math.h、stdlib.h、string.h、float.h $ g& x3 x# O: u. r  T6 }
int abs(int i) 返回整型参数i的绝对值
$ v7 A: }/ O; m打造最好的电脑自学交流论坛double cabs(struct complex znum) 返回复数znum的绝对值 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站/ W8 X$ e7 P! C8 M+ Z
double fabs(double x) 返回双精度参数x的绝对值 " L. N2 F( s- a' O
long labs(long n) 返回长整型参数n的绝对值
. k  ]( D% s( }8 e/ f1 u电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站double exp(double x) 返回指数函数ex的值
3 B8 A# V0 Q. B; p$ ]我爱电脑技术论坛double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站* \, z) @4 `0 q0 m/ a  V1 g% g; \5 ~
double ldexp(double value,int exp); 返回value*2exp的值
4 A4 S: l0 A+ B! ~/ iwww.520diannao.comdouble log(double x) 返回logex的值 我爱电脑技术社区--打造最好的电脑技术自学交流平台, i& R% s( Y' M8 w3 ~/ G; B
double log10(double x) 返回log10x的值 打造最好的电脑自学交流论坛: U- c- c' E) D4 c, |
double pow(double x,double y) 返回xy的值
, z0 t2 S4 S- F8 @我爱电脑技术论坛double pow10(int p) 返回10p的值 我爱电脑技术社区--打造最好的电脑技术自学交流平台0 `3 k7 M' }  i7 R- e
double sqrt(double x) 返回x的开方 打造最好的电脑自学交流论坛/ B  |" n7 R+ X! b, ^
double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度
$ ~$ }4 o- Q2 L0 S1 \( q我爱电脑技术论坛double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 9 O; |( Z7 a/ K3 ?' ]
double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站2 G3 l; e8 W. g8 _, l( d# D2 u
double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度
* r' T; M$ f7 g/ p! z4 ^5 Y我爱电脑技术论坛double cos(double x) 返回x的余弦cos(x)值,x为弧度
2 s( d/ O2 b3 j打造最好的电脑自学交流论坛double sin(double x) 返回x的正弦sin(x)值,x为弧度
( Y; V3 t! ]' f0 y- F/ F. Pdouble tan(double x) 返回x的正切tan(x)值,x为弧度   T" }3 t$ t) ?3 ^5 Q
double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度
1 J  V4 W1 E7 a$ E3 `9 R0 Ldouble sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度 我爱电脑技术社区--打造最好的电脑技术自学交流平台1 J/ t' U( \. }7 g) }! H! b$ a
double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度
/ P0 N# q; r) Z/ L: t打造最好的电脑自学交流论坛double hypot(double x,double y) 返回直角三角形斜边的长度(z), x和y为直角边的长我爱电脑技术社区--打造最好的电脑技术自学交流平台7 x$ f+ X! U* Z, }" X
度,z2=x2+y2 我爱电脑技术论坛) K$ Q* }* r) K
double ceil(double x) 返回不小于x的最小整数
; e8 x! L0 A' l4 G7 Y5 Z0 I我爱电脑技术论坛double floor(double x) 返回不大于x的最大整数
. y2 _" M* Q) N& I/ Fvoid srand(unsigned seed) 初始化随机数发生器 www.520diannao.com% y7 S' U* |$ n
int rand() 产生一个随机数并返回这个数 www.520diannao.com  W/ S( S) }* \+ M6 g% O1 \
double poly(double x,int n,double c[]) 从参数产生一个多项式 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站5 ^5 m8 A1 ~0 l0 v
double modf(double value,double *iptr) 将双精度数value分解成尾数和阶
- I9 O. u; c# [3 ?我爱电脑技术社区--打造最好的电脑技术自学交流平台double fmod(double x,double y) 返回x/y的余数 我爱电脑技术社区--打造最好的电脑技术自学交流平台& n* ]3 B$ N7 `
double frexp(double value,int *eptr) 将双精度数value分成尾数和阶
& A$ C. ^3 z4 t8 D+ y! gwww.520diannao.comdouble atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数
0 ?. q4 F) w2 F5 @( [double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数 我爱电脑技术论坛/ l- ^. m4 E  ]9 \/ i" O' |
double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数
" ?' a$ e; I% D- f9 i0 D- D; X4 t$ q电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站char *ecvt(double value,int ndigit,int *decpt,int *sign) 我爱电脑技术社区--打造最好的电脑技术自学交流平台1 {! ], z9 n) f
将浮点数value转换成字符串并返回该字符串 我爱电脑技术社区--打造最好的电脑技术自学交流平台$ h/ Z6 f/ @. f. ]3 ^8 _
char *fcvt(double value,int ndigit,int *decpt,int *sign) www.520diannao.com& _( C# J; n3 L! V, l
将浮点数value转换成字符串并返回该字符串 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站5 T; `. X1 k% a' P
char *gcvt(double value,int ndigit,char *buf) ! h6 ]7 E& o0 O3 Z- L1 X, |6 S
将数value转换成字符串并存于buf中,并返回buf的指针
& o. o( s& |" d我爱电脑技术社区--打造最好的电脑技术自学交流平台char *ultoa(unsigned long value,char *string,int radix) 我爱电脑技术社区--打造最好的电脑技术自学交流平台8 c8 g) k. P: t0 O& _
将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数 打造最好的电脑自学交流论坛' z/ J: F) h$ R7 s8 p- v; ~
char *ltoa(long value,char *string,int radix)
, d2 H, o* _, {" j) E8 I( D电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站" o$ }" y8 Y6 ]- L
char *itoa(int value,char *string,int radix)
6 T1 {3 B' `# j/ B4 ywww.520diannao.com将整数value转换成字符串存入string,radix为转换时所用基数 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站, c# g! _) o: {% i8 l5 @: L
double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0
9 X! e3 G$ K+ S+ pint atoi(char *nptr) 将字符串nptr转换成整型数, 并返回这个数,错误返回0 我爱电脑技术论坛2 w5 l+ H/ y- n+ l
long atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0
6 r, y% ?7 u+ ]" J$ _( W3 S& cdouble strtod(char *str,char **endptr)将字符串str转换成双精度数,并返回这个数,
2 g) Q6 q: V: ]# V2 f7 Q$ B5 j/ K电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站long strtol(char *str,char **endptr,int base)将字符串str转换成长整型数, 并返回这个数, ! ]7 k) L( [3 j; h
int matherr(struct exception *e) 用户修改数学错误返回信息函数(没有必要使用) 我爱电脑技术论坛' j6 K6 [) T# d% f
double _matherr(_mexcep why,char *fun,double *arg1p, double *arg2p,double retval)
$ T& m# L' O% h0 a# v/ `www.520diannao.com用户修改数学错误返回信息函数(没有必要使用) 我爱电脑技术社区--打造最好的电脑技术自学交流平台6 r0 n* _: s% U3 ]2 h
unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态
8 Y1 k1 n* `% M我爱电脑技术论坛void _fpreset() 重新初使化浮点数学程序包 打造最好的电脑自学交流论坛% ~9 w1 a3 `) K0 `6 m/ _
unsigned int _status87() 返回浮点状态字
. ]& l, F3 T8 X9 G3 d" s+ [( Q: `我爱电脑技术社区--打造最好的电脑技术自学交流平台目录函数,所在函数库为dir.h、dos.h 我爱电脑技术社区--打造最好的电脑技术自学交流平台2 ?! Q. c4 r! v" D8 L8 j' I* k) P0 o
int chdir(char *path) 使指定的目录path(如:"C:\\WPS")变成当前的工作目录,成功返回0
' {3 a7 _  h) x' G* \, M我爱电脑技术论坛int findfirst(char *pathname,struct ffblk *ffblk,int attrib)
( Q- n% J  @+ r: E9 H打造最好的电脑自学交流论坛查找指定的文件,成功返回0 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站9 |' Y- s" I1 M$ j3 h
pathname为指定的目录名和文件名,如"C:\\WPS\\TXT"
5 ?: r& X+ n2 U# A5 W$ Iffblk为指定的保存文件信息的一个结构,定义如下:
( K6 B7 E* ?' N2 R: E7 v# G我爱电脑技术社区--打造最好的电脑技术自学交流平台struct ffblk
6 I) k: ?5 C( o2 Q/ G2 y我爱电脑技术论坛{  
3 n1 ^* H, {* [9 g0 J: [/ g$ c5 q电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站char ff_reserved[21]; /*DOS保留字*/
1 l# Q& F0 |7 i! n: `电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站char ff_attrib; /*文件属性*/
0 r. I! r1 i* ~" K我爱电脑技术社区--打造最好的电脑技术自学交流平台int ff_ftime; /*文件时间*/  我爱电脑技术社区--打造最好的电脑技术自学交流平台: D/ ~  g+ B& q
int ff_fdate; /*文件日期*/  
! f9 V! a. B# Ylong ff_fsize; /*文件长度*/  
: E. C& a! M- r9 Gwww.520diannao.comchar ff_name[13]; /*文件名*/
) I- v. b$ e3 g0 `打造最好的电脑自学交流论坛} 打造最好的电脑自学交流论坛5 S7 I( u' K7 [4 F6 C. F0 r

# j: p% M  T! G5 o2 Y打造最好的电脑自学交流论坛attrib为文件属性,由以下字符代表 # V5 \# q" K9 K

7 V% ^+ @. a* d0 G$ H% x电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站FA_RDONLY 只读文件 FA_LABEL 卷标号 www.520diannao.com! v! `3 T; }, T! f/ _, R
FA_HIDDEN 隐藏文件 FA_DIREC 目录  / ~' O& L2 N" }8 w% c. ?+ l$ ~
FA_SYSTEM 系统文件 FA_ARCH 档案  
- U" U) k0 ?- Lwww.520diannao.com
* z. `+ H7 i9 j# W/ g, W例: 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站' v$ `) J2 G, c1 ^- P5 B
struct ffblk ff;
0 v+ @7 W$ J' A& Y& ]  b9 u( G我爱电脑技术论坛findfirst("*.wps",&ff,FA_RDONLY); 打造最好的电脑自学交流论坛  c' w6 f. c4 Z- I3 T
int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0 我爱电脑技术论坛1 [0 Q# z* k4 m: ^
void fumerge(char *path,char *drive,char *dir,char *name,char *ext) 我爱电脑技术论坛  w  J; O$ A# T9 c  k6 ?
此函数通过盘符drive(C:、A:等), 路径dir(\TC、\BC\LIB等), 文件名name(TC、WPS等),扩展名ext(.EXE、.COM等)组成一个文件名存与path中.
3 c- R# c) R8 @8 p" pwww.520diannao.comint fnsplit(char *path,char *drive,char *dir,char *name,char *ext)
1 T0 n6 x& A# W3 A0 M$ B8 u我爱电脑技术社区--打造最好的电脑技术自学交流平台此函数将文件名path分解成盘符drive(C:、A:等), 路径dir(\TC、\BC\LIB等), 文件名name(TC、WPS等),扩展名ext(.EXE、.COM等),并分别存入相应的变量中.
& D7 g9 H8 N9 i1 P  xint getcurdir(int drive,char *direc) ) m; y" [8 ?8 @  p$ N
此函数返回指定驱动器的当前工作目录名称。成功返回0
/ N0 e% d: o* j7 k打造最好的电脑自学交流论坛drive 指定的驱动器(0=当前,1=A,2=B,3=C等)
" f. ^0 n3 a7 f% w$ @我爱电脑技术社区--打造最好的电脑技术自学交流平台direc 保存指定驱动器当前工作路径的变量 我爱电脑技术论坛* Y0 m" j8 H& c. X" D4 R3 h1 s
char *getcwd(char *buf,iint n) 此函数取当前工作目录并存入buf中,直到n个字节长为为止.错误返回NULL
( o/ t+ B" ]7 W# W6 z) I& l我爱电脑技术论坛int getdisk() 取当前正在使用的驱动器,返回一个整数(0=A,1=B,2=C等) 打造最好的电脑自学交流论坛7 s$ r7 L/ f# V
int setdisk(int drive) 设置要使用的驱动器drive(0=A,1=B,2=C等), 返回可使用驱动器总数 ' o; U  d7 f* }
int mkdir(char *pathname) 建立一个新的目录pathname,成功返回0
' n3 `. n+ K, ~" dint rmdir(char *pathname) 删除一个目录pathname,成功返回0 我爱电脑技术论坛/ N( a9 H( i0 i! P& t
char *mktemp(char *template) 构造一个当前目录上没有的文件名并存于template中 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站$ Y! L$ R' q, S  ]9 _# z
char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路径, 此函数使用DOS的PATH变量,未找到文件返回NULL 进程函数,所在函数库为stdlib.h、process.h void abort() 此函数通过调用具有出口代码3的_exit写一个终止信息于stderr,并异常终止程序。无返回值 www.520diannao.com1 j: X9 k6 A/ p+ g  Q8 V
int exec…装入和运行其它程序
3 h& B2 E0 o- r" D; W我爱电脑技术社区--打造最好的电脑技术自学交流平台int execl(char *pathname,char *arg0,char *arg1,…,char *argn,NULL)
; j; D. g* K( F1 S  F电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站int execle(char *pathname,char *arg0,char *arg1,…, char *argn,NULL,char *envp[])
3 z2 h0 V; \( q) \' lint execlp(char *pathname,char *arg0,char *arg1,…,NULL)
% K3 K2 g  P; d7 _2 }我爱电脑技术社区--打造最好的电脑技术自学交流平台int execlpe(char *pathname,char *arg0,char *arg1,…,NULL,char *envp[]) 我爱电脑技术论坛% A. D, m6 M% d1 l) E* X% I% S" R  k
int execv(char *pathname,char *argv[]) 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站1 P( w' @4 `' ^4 f- @) T
int execve(char *pathname,char *argv[],char *envp[]) www.520diannao.com6 @, r! J5 ?1 i+ L1 c! d! Z
int execvp(char *pathname,char *argv[]) 我爱电脑技术论坛* `2 z5 o# [9 ]' V
int execvpe(char *pathname,char *argv[],char *envp[])
8 h$ J" l$ x  x% `  b1 x! Y2 I" n( \电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站exec函数族装入并运行程序pathname,并将参数arg0(arg1,arg2,argv[],envp[])传递给子程序,出错返回-1。 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站/ K9 Y/ q# F+ k0 T# M' O. j: P, p
在exec函数族中,后缀l、v、p、e添加到exec后,所指定的函数将具有某种操作能力。 有后缀 p时,函数可以利用DOS的PATH变量查找子程序文件。 l时,函数中被传递的参数个数固定。 v时,函数中被传递的参数个数不固定。 e时,函数传递指定参数envp,允许改变子进程的环境, 无后缀 e时,子进程使用当前程序的环境。
  T0 I; b5 \) O$ ?  Q& t  f我爱电脑技术论坛void _exit(int status) 终止当前程序,但不清理现场
- E' m7 F8 M1 _" y+ _( h  j* ^9 K我爱电脑技术论坛void exit(int status) 终止当前程序,关闭所有文件,写缓冲区的输出(等待输出), 并调用任何寄存器的"出口函数",无返回值 打造最好的电脑自学交流论坛# N, u" J# x. r6 i
int spawn…运行子程序 我爱电脑技术社区--打造最好的电脑技术自学交流平台  A  X$ f; d) B) `6 J0 j4 a& @
int spawnl(int mode,char *pathname,char *arg0,char *arg1,…, char *argn,NULL)打造最好的电脑自学交流论坛7 v; i2 S. r8 c1 |- D
int spawnle(int mode,char *pathname,char *arg0,char *arg1,…, char *argn,NULL,char *envp[]) 我爱电脑技术论坛" i+ b$ h+ _3 k2 o" c9 V. J: b! c
int spawnlp(int mode,char *pathname,char *arg0,char *arg1,…, char *argn,NULL)
0 {# M' h# {9 i/ e6 S# {1 E" Q打造最好的电脑自学交流论坛int spawnlpe(int mode,char *pathname,char *arg0,char *arg1,…, char *argn,NULL,char *envp[])
& ?& v2 n* m- q" D# P* H/ j& Cwww.520diannao.comint spawnv(int mode,char *pathname,char *argv[])
+ d( q! U* x+ i2 \我爱电脑技术论坛int spawnve(int mode,char *pathname,char *argv[],char *envp[]) 打造最好的电脑自学交流论坛( e8 ]2 ~/ T5 x+ E9 N
int spawnvp(int mode,char *pathname,char *argv[]) 我爱电脑技术社区--打造最好的电脑技术自学交流平台. Y7 P$ A8 _8 ~; U- F
int spawnvpe(int mode,char *pathname,char *argv[],char *envp[]) www.520diannao.com8 S" y+ u' s5 s7 d/ K8 m
spawn函数族在mode模式下运行子程序pathname,并将参数arg0(arg1,arg2,argv[],envp[])传递给子程序.出错返回-1
1 ~7 [. \  x* N8 p. w我爱电脑技术论坛mode为运行模式: www.520diannao.com6 T- E1 e; G9 |. X) g9 e7 d7 S
mode为 P_WAIT 表示在子程序运行完后返回本程序
$ U: t' V; @$ k; Y我爱电脑技术社区--打造最好的电脑技术自学交流平台P_NOWAIT 表示在子程序运行时同时运行本程序(不可用)
0 I% b% l2 n2 n' m- c电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站P_OVERLAY 表示在本程序退出后运行子程序
% l8 u+ R& Q$ \1 n3 ^打造最好的电脑自学交流论坛在spawn函数族中,后缀l、v、p、e添加到spawn后,所指定的函数将具有某种操作能力 有后缀 p时, 函数利用DOS的PATH查找子程序文件
3 J$ ~6 P3 E3 ^9 W$ Xl时, 函数传递的参数个数固定. v时, 函数传递的参数个数不固定. e时, 指定参数envp可以传递给子程序,允许改变子程序运行环境. 无后缀 e时,子程序使用本程序的环境.
  m6 W, c* i: O电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站int system(char *command) " e  i2 v/ s; P$ u* ^% [7 p+ |- Y
将MSDOS命令command传递给DOS执行转换子程序,函数库为math.h、stdlib.h、ctype.h、float.h
3 i4 [8 z- O5 F8 N9 R3 @) ?( P我爱电脑技术论坛char *ecvt(double value,int ndigit,int *decpt,int *sign) 打造最好的电脑自学交流论坛# g$ X& z# ?+ @2 q; B' g" y
将浮点数value转换成字符串并返回该字符串
( ~# Y. A' ]) L0 X: b打造最好的电脑自学交流论坛char *fcvt(double value,int ndigit,int *decpt,int *sign)
6 T. G: A7 B& l& `9 B; m电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站将浮点数value转换成字符串并返回该字符串
# }' \. p4 y/ m1 R( [( l- B电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站char *gcvt(double value,int ndigit,char *buf)
. @+ s' a2 j$ Q& A# E我爱电脑技术社区--打造最好的电脑技术自学交流平台将数value转换成字符串并存于buf中,并返回buf的指针
/ L7 e: @1 g+ W3 ]- h/ g; ?; a打造最好的电脑自学交流论坛char *ultoa(unsigned long value,char *string,int radix) 我爱电脑技术社区--打造最好的电脑技术自学交流平台. N; r: G2 ]: j8 n  p
将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数 打造最好的电脑自学交流论坛  F; K, G# X& d" d! t
char *ltoa(long value,char *string,int radix)
1 C& D! F6 f8 N+ X3 e我爱电脑技术社区--打造最好的电脑技术自学交流平台将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数
3 V* u$ W1 E, S* r电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站char *itoa(int value,char *string,int radix) 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站, F$ C, _6 _! a/ c# d
将整数value转换成字符串存入string,radix为转换时所用基数 & |5 y4 ~" F) @3 A$ ~2 K
double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0
  _3 F5 r! h/ o我爱电脑技术论坛int atoi(char *nptr) 将字符串nptr转换成整型数, 并返回这个数,错误返回0
. o- t+ W; I# y) L7 e* m打造最好的电脑自学交流论坛long atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0 打造最好的电脑自学交流论坛; V9 A+ B; l8 @+ M& t, g
double strtod(char *str,char **endptr)
/ h) u2 M+ f& T( d打造最好的电脑自学交流论坛将字符串str转换成双精度数,并返回这个数,
, k  ?, P4 J/ l2 Y6 }打造最好的电脑自学交流论坛long strtol(char *str,char **endptr,int base) 我爱电脑技术论坛8 @& c8 I- I0 J3 i! D7 T
将字符串str转换成长整型数, 并返回这个数,
- I8 O' Q& u* @" S# Q  N打造最好的电脑自学交流论坛int toascii(int c) 返回c相应的ASCII
( h* I! k* E% [) o9 S$ O电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'- 'z') 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站1 P9 W% S7 {5 A% {
int _tolower(int ch) 返回ch相应的小写字母('a'-'z') 打造最好的电脑自学交流论坛2 \6 ^% a$ _" ^' D* r
int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'- 'Z') www.520diannao.com: [* [% v0 I/ X
int _toupper(int ch) 返回ch相应的大写字母('A'-'Z') www.520diannao.com5 Q# K% |% ~& J' V+ D
诊断函数,所在函数库为assert.h、math.h 打造最好的电脑自学交流论坛- H( a& k' B& t' x5 J8 r! z
void assert(int test) 一个扩展成if语句那样的宏,如果test测试失败,就显示一个信息并异常终止程序,无返回值 打造最好的电脑自学交流论坛6 R# y" Q4 V8 H& v+ m; R
void perror(char *string) 本函数将显示最近一次的错误信息,格式如:字符串string:错误信息
# k3 D9 A3 ~/ v. ]电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站char *strerror(char *str) 本函数返回最近一次的错误信息,格式如: 字符串str:错误信息
; a* {+ q1 p3 T0 bint matherr(struct exception *e) www.520diannao.com" }5 U9 p1 g$ l' R4 \. g
用户修改数学错误返回信息函数(没有必要使用) 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站- H5 j8 a3 o1 o# B/ x
double _matherr(_mexcep why,char *fun,double *arg1p, double *arg2p,double retval) 我爱电脑技术论坛! D8 s9 E+ W5 ]) X% ~7 Q8 }- {0 [& z
用户修改数学错误返回信息函数(没有必要使用) 我爱电脑技术社区--打造最好的电脑技术自学交流平台  d$ J8 \8 O, h' x; [
输入输出子程序, 函数库为io.h、conio.h、stat.h、dos.h、stdio.h、signal.h
) g& C* u% I) Vint kbhit() 本函数返回最近所敲的按键
3 P5 a6 Q6 b% T1 J" [打造最好的电脑自学交流论坛int fgetchar() 从控制台(键盘)读一个字符,显示在屏幕上
( a9 m3 \( Z' r+ G9 _5 c! t2 {! r6 |, k我爱电脑技术社区--打造最好的电脑技术自学交流平台int getch() 从控制台(键盘)读一个字符,不显示在屏幕上
) R  `5 T5 K( w# p打造最好的电脑自学交流论坛int putch() 向控制台(键盘)写一个字符 我爱电脑技术论坛& x3 Y( [6 q8 M& w
int getchar() 从控制台(键盘)读一个字符,显示在屏幕上
0 J( A1 j) P' C6 Y9 [. B1 I打造最好的电脑自学交流论坛int putchar() 向控制台(键盘)写一个字符
5 t! x- d! \/ c& R* v. Bwww.520diannao.comint getche() 从控制台(键盘)读一个字符,显示在屏幕上
2 I9 l, ~# h" `) R打造最好的电脑自学交流论坛int ungetch(int c) 把字符c退回给控制台(键盘) 我爱电脑技术论坛- N5 q: x* p! E+ O
char *cgets(char *string) 从控制台(键盘)读入字符串存于string中
4 t" ]) F2 q% j, `7 f6 P打造最好的电脑自学交流论坛int scanf(char *format[,argument…])
( J4 `: P/ e+ ]  t# ?! Jwww.520diannao.com从控制台读入一个字符串,分别对各个参数进行赋值,使用BIOS进行输出 我爱电脑技术论坛" m/ d9 ~" v: _0 j4 Q
int vscanf(char *format,Valist param)
9 R- K' M6 \7 B( u打造最好的电脑自学交流论坛从控制台读入一个字符串,分别对各个参数进行赋值,使用BIOS进行输出,参数从Valist param中取得
' F5 w2 \5 I, u* N/ }8 v. U我爱电脑技术论坛int cscanf(char *format[,argument…])
. ]6 |% ]' S4 P: U我爱电脑技术论坛从控制台读入一个字符串,分别对各个参数进行赋值,直接对控制台作操作,比如显示器在显示时字符时即为直接写频方式显示
, [0 _! L/ ~4 n; [  F6 z  t& F( V我爱电脑技术社区--打造最好的电脑技术自学交流平台int sscanf(char *string,char *format[,argument,…]) 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站8 \' f& F, K3 U6 l$ Z& f
通过字符串string, 分别对各个参数进行赋值 我爱电脑技术论坛0 i9 s8 F9 t1 `0 O0 P
int vsscanf(char *string,char *format,Vlist param) 打造最好的电脑自学交流论坛+ S; o' c0 ^. m: T2 i3 i7 t
通过字符串string,分别对各个参数进行赋值,参数从Vlist param中取得
+ Q) e) Q: i- c* K$ L5 y5 c4 q5 ]0 @打造最好的电脑自学交流论坛int puts(char *string) 发关一个字符串string给控制台(显示器), 使用BIOS进行输出
3 Q8 q6 ^8 ~6 u  _8 Z打造最好的电脑自学交流论坛void cputs(char *string) 发送一个字符串string给控制台(显示器), 直接对控制台作操作,比如显示器即为直接写频方式显示 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站& J- l. |% D! |5 p3 i
int printf(char *format[,argument,…]) 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站$ y+ }9 {5 A7 `% G
发送格式化字符串输出给控制台(显示器),使用BIOS进行输出 我爱电脑技术论坛; R5 \& M0 d) q+ U- j  h" {2 I
int vprintf(char *format,Valist param)
4 N$ I! t2 `; E! ^; u! j+ Z* z# l打造最好的电脑自学交流论坛发送格式化字符串输出给控制台(显示器),使用BIOS进行输出,参数从Valist param中取得
0 Y+ B; {1 w9 K% Z; O我爱电脑技术社区--打造最好的电脑技术自学交流平台int cprintf(char *format[,argument,…])
% A8 z* v. W7 a  _& }我爱电脑技术论坛发送格式化字符串输出给控制台(显示器), 直接对控制台作操作,比如显示器即为直接写频方式显示
+ |! {( T. |9 E" z( R' A% _  _5 |$ b$ Gwww.520diannao.comint vcprintf(char *format,Valist param) 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站% g4 |1 j; M9 ?( l( y: i1 ?% c
发送格式化字符串输出给控制台(显示器), 直接对控制台作操作,比如显示器即为直接写频方式显示, 参数从Valist param中取得
: s1 g; x8 r. z我爱电脑技术社区--打造最好的电脑技术自学交流平台int sprintf(char *string,char *format[,argument,…]) 我爱电脑技术论坛0 ^# D& D" `% P  }
将字符串string的内容重新写为格式化后的字符串 & `  V$ s/ t9 n; ~" `
int vsprintf(char *string,char *format,Valist param)
& `5 [) S, f* Q/ ]4 E电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站将字符串string的内容重新写为格式化后的字符串,参数从Valist param中取得
$ f2 |; ~0 P0 h9 e电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站int rename(char *oldname,char *newname)将文件oldname的名称改为newname
" X4 L1 E; A4 D; [" J) y: m" _打造最好的电脑自学交流论坛int ioctl(int handle,int cmd[,int *argdx,int argcx])
! T( j" l: S0 ~! B6 {打造最好的电脑自学交流论坛本函数是用来控制输入/输出设备的,请见下: 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站) O4 }& m- |1 }8 m; p9 g
cmd值 功能  
; X2 b  b- U3 B9 l1 D- o我爱电脑技术社区--打造最好的电脑技术自学交流平台0 取出设备信息  
7 X& f/ M2 `! C! _$ pwww.520diannao.com1 设置设备信息  我爱电脑技术论坛, x9 k" d) i" x2 P2 y
2 把argcx字节读入由argdx所指的地址
5 f* I/ P0 l2 i' T打造最好的电脑自学交流论坛3 在argdx所指的地址写argcx字节  
; X# M+ _4 e. x6 Z4 除把handle当作设备号(0=当前,1=A,等)之外,均和cmd=2时一样 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站4 n5 d: W: U/ j1 l( @9 K% e
5 除把handle当作设备号(0=当前,1=A,等)之外,均和cmd=3时一样 5 R# M6 w; s  B4 g
6 取输入状态  5 Q) b- n& M: i' ]
7 取输出状态  
$ e# x; A: \5 t1 b( Z' u+ U/ w我爱电脑技术论坛8 测试可换性;只对于DOS 3.x www.520diannao.com, s1 s5 L3 v( |4 j1 R0 }2 N
11 置分享冲突的重算计数;只对DOS 3.x  电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站' Q# y, T0 p, U8 j& |
int (*ssignal(int sig,int(*action)())() 执行软件信号(没必要使用)
2 V  \( {! u( e4 ~5 n3 x) e. z4 C8 q4 H打造最好的电脑自学交流论坛int gsignal(int sig) 执行软件信号(没必要使用) ) F6 h" Y( u' r5 x9 ]7 m& C
int _open(char *pathname,int access)为读或写打开一个文件, 按后按access来确定是电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站7 W! \. n8 c) S$ ?
读文件还是写文件,access值见下 我爱电脑技术论坛- u1 h/ l  E3 g% b
access值 意义  我爱电脑技术论坛- {, n+ F6 p6 ?8 [+ K
O_RDONLY 读文件
0 x8 i& v  u1 N& a2 l我爱电脑技术论坛O_WRONLY 写文件
6 R( f5 A7 V$ L1 C- }) M  ]4 u3 J我爱电脑技术论坛O_RDWR 即读也写  
3 F. k  g1 i( W# f: Q" s, f我爱电脑技术社区--打造最好的电脑技术自学交流平台O_NOINHERIT 若文件没有传递给子程序,则被包含 打造最好的电脑自学交流论坛- u$ Q2 L: f& F, P& u- @
O_DENYALL 只允许当前处理必须存取的文件  
4 ~- i! J& ?/ w打造最好的电脑自学交流论坛O_DENYWRITE 只允许从任何其它打开的文件读 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站- Q& r$ h! w6 z7 w9 t1 q3 S
O_DENYREAD 只允许从任何其它打开的文件写
: y. w+ ~) R. w) i电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站O_DENYNONE 允许其它共享打开的文件 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站# c: G" I9 n1 Z* t1 {3 x/ q
int open(char *pathname,int access[,int permiss])为读或写打开一个文件, 按后按我爱电脑技术社区--打造最好的电脑技术自学交流平台7 D. J% }# p5 S7 V
access来确定是读文件还是写文件,access值见下
% `' c7 K3 v  \6 [打造最好的电脑自学交流论坛access值意义
7 ~/ B/ P0 a5 h+ H& @! K- `' x" V我爱电脑技术论坛O_RDONLY读文件  打造最好的电脑自学交流论坛  n( h: m) B, b  U
O_WRONLY写文件 www.520diannao.com7 t& L3 p" j, V  v' m# }& @: t
O_RDWR 即读也写  
3 P" O6 d7 H& l4 _$ K( Twww.520diannao.comO_NDELAY没有使用;对UNIX系统兼容 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站6 D0 }) b6 a) c
O_APPEND即读也写,但每次写总是在文件尾添加  
, f1 s. b4 @5 p, Q; Y5 G- Lwww.520diannao.comO_CREAT 若文件存在,此标志无用;若不存在,建新文件 ) _- Z. w6 V$ U3 m* d
O_TRUNC 若文件存在,则长度被截为0,属性不变
- n0 }, r, }' n+ l3 ], ]我爱电脑技术社区--打造最好的电脑技术自学交流平台O_EXCL 未用;对UNIX系统兼容  
1 w$ J( q2 o/ L, k: h! \我爱电脑技术论坛O_BINARY此标志可显示地给出以二进制方式打开文件  6 O/ t+ ]6 _( _+ i- C; ]2 S, N
O_TEXT 此标志可用于显示地给出以文本方式打开文件 我爱电脑技术社区--打造最好的电脑技术自学交流平台, t! N- g  K9 q& `
permiss为文件属性,可为以下值:
5 o! C1 P0 L0 m" O我爱电脑技术社区--打造最好的电脑技术自学交流平台S_IWRITE允许写 S_IREAD允许读 S_IREAD|S_IWRITE允许读、写
$ b- n1 n1 b' z3 [& x1 T+ X: p电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站int creat(char *filename,int permiss) 建立一个新文件filename,并设定读写性。
2 K8 K- E: V7 o3 ?' y7 A我爱电脑技术社区--打造最好的电脑技术自学交流平台permiss为文件读写性,可以为以下值
/ m: K$ F3 Y! h' A) N6 }% c4 a2 Rwww.520diannao.comS_IWRITE允许写 S_IREAD允许读 S_IREAD|S_IWRITE允许读、写 我爱电脑技术论坛9 U3 K4 {  J& `8 ^2 ]+ F
int _creat(char *filename,int attrib) 建立一个新文件filename,并设定文件属性。
* M( g! f$ M  U. V, L2 x打造最好的电脑自学交流论坛attrib为文件属性,可以为以下值 我爱电脑技术论坛1 w7 p" ~8 d% g3 B! [  s
FA_RDONLY只读 FA_HIDDEN隐藏 FA_SYSTEM系统 打造最好的电脑自学交流论坛' n3 Z5 ^. [% ~6 E6 ^/ i! h
int creatnew(char *filenamt,int attrib) 建立一个新文件filename,并设定文件属性。
( B* C; i" R3 V) R5 M* O我爱电脑技术社区--打造最好的电脑技术自学交流平台attrib为文件属性,可以为以下值
: V% P% P3 a6 r- Q5 p3 x" B. x0 Q电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站FA_RDONLY只读 FA_HIDDEN隐藏 FA_SYSTEM系统
8 o, e7 E9 `+ H" V$ z  V& k打造最好的电脑自学交流论坛int creattemp(char *filenamt,int attrib) 建立一个新文件filename,并设定文件属性。
+ t: F% |' b3 r) R我爱电脑技术论坛attrib为文件属性,可以为以下值
- k" T6 A: i6 r% M; z0 ?我爱电脑技术论坛FA_RDONLY只读 FA_HIDDEN隐藏 FA_SYSTEM系统
) ~9 v6 f" o* c- Y1 h# d电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站int read(int handle,void *buf,int nbyte) 从文件号为handle的文件中读nbyte个字符存入buf中 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站# U% a, n, }' F+ q
int _read(int handle,void *buf,int nbyte) 从文件号为handle的文件中读nbyte个字符存入buf中,直接调用MSDOS进行操作.
1 q& U6 ]) m4 B3 N我爱电脑技术社区--打造最好的电脑技术自学交流平台int write(int handle,void *buf,int nbyte) 将buf中的nbyte个字符写入文件号为handle的文件中 " ^8 B5 F: _, w8 r2 Y' x( N
int _write(int handle,void *buf,int nbyte) 将buf中的nbyte个字符写入文件号为handle的文件中 我爱电脑技术论坛9 e. ]( s, u$ Z* w. f1 Q5 _' Y
int dup(int handle) 复制一个文件处理指针handle,返回这个指针 我爱电脑技术论坛  O; N, o0 y) I& o; Q. O- }
int dup2(int handle,int newhandle) 复制一个文件处理指针handle到newhandle
& j/ c6 f& x6 }6 A# twww.520diannao.comint eof(int *handle) 检查文件是否结束,结束返回1,否则返回0
$ C0 p+ Q4 @; e9 L4 q电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站long filelength(int handle) 返回文件长度,handle为文件号 打造最好的电脑自学交流论坛9 M. C! M0 Q& V8 O- M
int setmode(int handle,unsigned mode)本函数用来设定文件号为handle的文件的打开方式
) Q6 `8 X- R5 g- k, q: w我爱电脑技术社区--打造最好的电脑技术自学交流平台int getftime(int handle,struct ftime *ftime)
3 X$ ]! k& ]( H+ q+ h& @, L打造最好的电脑自学交流论坛读取文件号为handle的文件的时间,并将文件时间存于ftime结构中,成功返回0, ftime结构如下:
9 C8 j  u  H* [. M' A0 y打造最好的电脑自学交流论坛struct ftime  电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站  _! H- ~. U" k2 P
{ 我爱电脑技术社区--打造最好的电脑技术自学交流平台6 \' T* {% y# ]) V! v6 W: T
unsigned ft_tsec:5; /*秒*/  
9 G/ I# J" [( z) y! N( _我爱电脑技术论坛unsigned ft_min:6; /*分*/  www.520diannao.com1 w$ g/ E# c; @. q) E2 {% m
unsigned ft_hour:5; /*时*/  
7 ~( H0 m9 s# w! y/ o8 w2 e5 }unsigned ft_day:5; /*日*/
5 c/ C, t) C: e: {" r# H打造最好的电脑自学交流论坛unsigned ft_month:4;/*月*/  电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站# u2 R2 h$ I4 t  ~2 ]$ X) J
unsigned ft_year:1; /*年-1980*/ 打造最好的电脑自学交流论坛2 L  V$ e& n7 z  y6 B
}  电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站0 c1 V/ l* z/ e9 t
int setftime(int handle,struct ftime *ftime) 重写文件号为handle的文件时间, 新时间在结构ftime中.成功返回0.结构ftime如下: 打造最好的电脑自学交流论坛1 M+ {+ W8 H; B( d! t5 B
我爱电脑技术社区--打造最好的电脑技术自学交流平台, W( T. t; H, d& e2 \/ I5 S0 z5 q' `8 p
struct ftime  
8 n' N6 J2 m# y) Owww.520diannao.com{  
& A1 d( ?$ Y& c& u6 m7 Q我爱电脑技术论坛unsigned ft_tsec:5; /*秒*/
2 v6 v, I/ C  \8 o% C8 A打造最好的电脑自学交流论坛unsigned ft_min:6; /*分*/  
2 F2 |' X' K/ `! l/ i打造最好的电脑自学交流论坛unsigned ft_hour:5; /*时*/  我爱电脑技术社区--打造最好的电脑技术自学交流平台+ ]2 R% r' g' Z8 d; g+ u
unsigned ft_day:5; /*日*/  
8 {: j5 l, P$ d5 ~' F% D& W2 }我爱电脑技术社区--打造最好的电脑技术自学交流平台unsigned ft_month:4;/*月*/  打造最好的电脑自学交流论坛1 [; j7 a/ p) H9 u
unsigned ft_year:1; /*年-1980*/
# C: R7 {7 C' H6 _% k! ~我爱电脑技术论坛}  
8 ~. O% z( T' N, e$ j/ L电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站long lseek(int handle,long offset,int fromwhere)
1 |- C) Y8 O; E电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站本函数将文件号为handle的文件的指针移到fromwhere后的第offset个字节处. ! @- a0 r% ]2 H; [/ p4 Q1 o
SEEK_SET文件开关 SEEK_CUR当前位置 SEEK_END文件尾
, ~7 h9 b$ o" u6 Y电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站long tell(int handle) 本函数返回文件号为handle的文件指针,以字节表示 + [) |, A* e  V( R+ H7 }
int isatty(int handle)本函数用来取设备handle的类型 www.520diannao.com) ^4 q( _( g, a4 ?3 n. u3 r3 _; ?7 R
int lock(int handle,long offset,long length) 对文件共享作封锁 我爱电脑技术论坛: G! G4 I2 a' @0 B3 R0 N
int unlock(int handle,long offset,long length) 打开对文件共享的封锁 我爱电脑技术论坛+ e- `) a" b4 H. e& n
int close(int handle) 关闭handle所表示的文件处理,handle是从_creat、creat、 creatnew、creattemp、dup、dup2、_open、open中的一个处调用获得的文件处理 成功返回0否则返回-1,可用于UNIX系统
: _( H! X# s, awww.520diannao.comint _close(int handle) 关闭handle所表示的文件处理,handle是从_creat、creat、 creatnew、creattemp、dup、dup2、_open、open中的一个处调用获得的文件处理 成功返回0否则返回-1,只能用于MSDOS系统 我爱电脑技术社区--打造最好的电脑技术自学交流平台4 s2 z% ?: [+ g
FILE *fopen(char *filename,char *type) 打开一个文件filename,打开方式为type, 并返回这个文件指针,type可为以下字符串加上后缀 打造最好的电脑自学交流论坛$ b3 ]8 m% T4 N  u( i
type│读写性 │文本/2进制文件│建新/打开旧文件  7 _! k1 b! v, R/ y# w4 o
r │读 │文本 │打开旧的文件  电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站) U9 j3 g/ O) I. ~$ i+ U+ x7 V2 h
w │写 │文本 │建新文件
& O6 D- S. Q3 C4 K: l' K# dwww.520diannao.coma │添加 │文本 │有就打开无则建新
1 h  ~  H" w$ U$ cr+ │读/写 │不限制 │打开  
# t) _' u, a' p' e% tw+ │读/写 │不限制 │建新文件  我爱电脑技术论坛; O( E. t3 t; M( j$ K( ~5 j
a+ │读/添加 │不限制 │有就打开无则建新
7 R$ [; L: q* ]$ I. b我爱电脑技术社区--打造最好的电脑技术自学交流平台可加的后缀为t、b。加b表示文件以二进制形式进行操作,t没必要使用 例: 打造最好的电脑自学交流论坛1 b9 k* _3 r& v4 t' m' [
#include<stdio.h>
" k" Z9 F4 Q' h# Mmain()  
% ^9 X( ^/ i" [# m打造最好的电脑自学交流论坛{  我爱电脑技术社区--打造最好的电脑技术自学交流平台* X6 u2 Y  }) c& x" H
FILE *fp;  我爱电脑技术社区--打造最好的电脑技术自学交流平台# g0 k! f9 T% F& K8 ]! `0 n
fp=fopen("C:\\WPS\\WPS.EXE","r+b"); 打造最好的电脑自学交流论坛! m1 p, |: t  V' Y
FILE *fdopen(int ahndle,char *type)
9 b$ I& S! e4 J/ x% ^! l' Y1 dwww.520diannao.comFILE *freopen(char *filename,char *type,FILE *stream) 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站$ G# n6 F6 d3 i
int getc(FILE *stream) 从流stream中读一个字符,并返回这个字符 我爱电脑技术论坛$ x* o4 L' E& v( B+ ~- Y8 }3 n; G
int putc(int ch,FILE *stream) 向流stream写入一个字符ch
) F9 w- W7 h  E1 \  G5 Twww.520diannao.comint getw(FILE *stream) 从流stream读入一个整数,错误返回EOF 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站) X( w. v, M, v: }% q* }+ x
int putw(int w,FILE *stream) 向流stream写入一个整数 我爱电脑技术社区--打造最好的电脑技术自学交流平台) \8 y+ k% K" e3 y. i
int ungetc(char c,FILE *stream) 把字符c退回给流stream,下一次读进的字符将是c www.520diannao.com- J8 o8 [6 g7 K
int fgetc(FILE *stream) 从流stream处读一个字符,并返回这个字符
! _: S, n8 |% S" t打造最好的电脑自学交流论坛int fputc(int ch,FILE *stream) 将字符ch写入流stream中
+ m0 n2 K! T3 z  v& ]打造最好的电脑自学交流论坛char *fgets(char *string,int n,FILE *stream) 我爱电脑技术社区--打造最好的电脑技术自学交流平台9 R2 o3 {6 X8 D: X
从流stream中读n个字符存入string中
5 C/ \3 B! d" G3 f( o! c' G) Y打造最好的电脑自学交流论坛int fputs(char *string,FILE *stream)将字符串string写入流stream中
# ?5 O- |. y8 @7 m8 Z我爱电脑技术社区--打造最好的电脑技术自学交流平台int fread(void *ptr,int size,int nitems,FILE *stream)
0 n/ p* ]2 p9 F- s* t5 Jwww.520diannao.com从流stream中读入nitems个长度为size的字符串存入ptr中
) v/ e, i/ ]- m9 X8 M; M% u2 j打造最好的电脑自学交流论坛int fwrite(void *ptr,int size,int nitems,FILE *stream)
7 n! ^" r4 ]+ U; b% I8 V  ^向流stream中写入nitems个长度为size的字符串,字符串在ptr中 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站- J' [1 _) `! q$ R! d- y; @
int fscanf(FILE *stream,char *format[,argument,…]) 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站0 z2 r: f; N3 _; {0 q1 E9 L3 C. ?
以格式化形式从流stream中读入一个字符串
: C5 G1 s; L" Lint vfscanf(FILE *stream,char *format,Valist param) 我爱电脑技术社区--打造最好的电脑技术自学交流平台, _1 R' j. ]8 y% `+ H$ R
以格式化形式从流stream中读入一个字符串,参数从Valist param中取得 我爱电脑技术论坛' [7 b1 i. s- k8 R
int fprintf(FILE *stream,char *format[,argument,…])
4 M6 d$ N$ A. i2 [9 W以格式化形式将一个字符串写给指定的流stream 我爱电脑技术社区--打造最好的电脑技术自学交流平台. n+ {  P5 u+ {# W! m
int vfprintf(FILE *stream,char *format,Valist param) 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站  w* d7 i/ Z3 h8 x! X
以格式化形式将一个字符串写给指定的流stream,参数从Valist param中取得 我爱电脑技术社区--打造最好的电脑技术自学交流平台" v! Q. x3 J7 w# u8 C6 h. D" Q
int fseek(FILE *stream,long offset,int fromwhere)
. b4 Q# w5 i3 ]# @5 T0 X; Y我爱电脑技术社区--打造最好的电脑技术自学交流平台函数把文件指针移到fromwhere所指位置的向后offset个字节处,fromwhere可以为以下值我爱电脑技术社区--打造最好的电脑技术自学交流平台6 @2 Y: Q$ K' h3 T3 U' S: `& s2 u2 S
SEEK_SET 文件开关 SEEK_CUR 当前位置 SEEK_END 文件尾 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站  }( v" ~' v% @% w* R- U* A$ q1 S
long ftell(FILE *stream) 函数返回定位在stream中的当前文件指针位置,以字节表示
- B1 O/ b' x- ]4 j9 }电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站int rewind(FILE *stream) 将当前文件指针stream移到文件开头
# M: ]  Q) F# _+ y+ o8 W; F# hint feof(FILE *stream) 检测流stream上的文件指针是否在结束位置
( x" c9 x6 K8 f. ]- y( N# \我爱电脑技术社区--打造最好的电脑技术自学交流平台int fileno(FILE *stream) 取流stream上的文件处理,并返回文件处理
* a7 V0 h& y" B* V* ~* E0 h, q我爱电脑技术论坛int ferror(FILE *stream) 检测流stream上是否有读写错误,如有错误就返回1
4 }% ^8 I3 z) a! v5 E我爱电脑技术论坛void clearerr(FILE *stream) 清除流stream上的读写错误 打造最好的电脑自学交流论坛  i& X8 Q& W' V7 t
void setbuf(FILE *stream,char *buf) 给流stream指定一个缓冲区buf
3 I1 G5 [% {. V& svoid setvbuf(FILE *stream,char *buf,int type,unsigned size)

TOP

给流stream指定一个缓冲区buf,大小为size,类型为type,type的值见下我爱电脑技术论坛2 R& ?* d$ Y$ m$ X
type值意义  
9 C: k& \& u9 ^9 O2 A我爱电脑技术社区--打造最好的电脑技术自学交流平台_IOFBF文件是完全缓冲区,当缓冲区是空时,下一个输入操作将企图填满整个缓冲区.在输出时,在把任何数据写到文件之前,将完全填充缓冲区.  打造最好的电脑自学交流论坛- o- F$ N7 U- q) B8 d% [
_IOLBF文件是行缓冲区.当缓冲区为空时,下一个输入操作将仍然企图填整个缓 冲区.然而在输出时,每当新行符写到文件,缓冲区就被清洗掉. 打造最好的电脑自学交流论坛6 _$ g' y4 Q8 Y  i
_IONBF│文件是无缓冲的.buf和size参数是被忽略的.每个输入操作将直接从文件读,每个输出操作将立即把数据写到文件中.  我爱电脑技术论坛2 |: F; K1 x: W! O1 w+ B
int fclose(FILE *stream) 关闭一个流,可以是文件或设备(例如LPT1)
5 c2 |. z! J) R6 ^/ i" Q我爱电脑技术社区--打造最好的电脑技术自学交流平台int fcloseall() 关闭所有除stdin或stdout外的流
0 L! k; ]. Y! w- f! g6 L/ dwww.520diannao.comint fflush(FILE *stream)
) j( @$ ^' O+ v' i  ^关闭一个流,并对缓冲区作处理处理即对读的流,将流内内容读入缓冲区;对写的流,将缓冲区内内容写入流。成功返回0
" [' I" L5 F) l* a- Z4 f. Z3 Y我爱电脑技术论坛int fflushall() 打造最好的电脑自学交流论坛% V" N7 H+ k2 Z' u
关闭所有流,并对流各自的缓冲区作处理处理即对读的流,将流内内容读入缓冲区;对写的流,将缓冲区内内容写入流。成功返回0 我爱电脑技术论坛' l) s: `  J  d( v" X
int access(char *filename,int amode) ' l: G- ~1 l% M9 W
本函数检查文件filename并返回文件的属性, 函数将属性存于amode中,amode由以下位的组合构成
4 p, ]( A$ c! r) D我爱电脑技术论坛06可以读、写 04可以读 02可以写 01执行(忽略的) 00文件存在
! t4 w) z* Y; i% d打造最好的电脑自学交流论坛如果filename是一个目录,函数将只确定目录是否存在函数执行成功返回0,否则返回-1 www.520diannao.com' p7 [) d/ B  ~2 x6 R" I% `
int chmod(char *filename,int permiss) 本函数用于设定文件filename的属性
* V0 l8 N) ]# ?( j; y我爱电脑技术论坛permiss可以为以下值 www.520diannao.com" u6 T0 t  u" o! m/ H0 p' L. B- |
S_IWRITE允许写 S_IREAD允许读 S_IREAD|S_IWRITE允许读、写
, J0 v- k2 m4 p( j电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站int _chmod(char *filename,int func[,int attrib]);
0 `2 c/ z6 n: w0 i* i, ~. k0 I本函数用于读取或设定文件filename的属性, 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站  R3 u$ L& Y- w( Z" o, B
当func=0时,函数返回文件的属性;当func=1时,函数设定文件的属性 若为设定文件属性,attrib可以为下列常数之一
- v5 n% G) `; B6 Uwww.520diannao.comFA_RDONLY只读 FA_HIDDEN隐藏 FA_SYSTEM系统
5 w* ?7 j  {; N" Y7 X$ G8 E我爱电脑技术社区--打造最好的电脑技术自学交流平台接口子程序,所在函数库为os.h、bios.h
7 a4 D/ ?1 F. J: i1 a0 @我爱电脑技术社区--打造最好的电脑技术自学交流平台unsigned sleep(unsigned seconds) 暂停seconds微秒(百分之一秒) www.520diannao.com4 `8 o4 K" i6 {+ ?' K; s
int unlink(char *filename) 删除文件filename www.520diannao.com. i" \( p, c. r
unsigned FP_OFF(void far *farptr) 本函数用来取远指针farptr的偏移量 - P/ m1 k1 M9 H& G3 V8 L
unsigned FP_SEG(void far *farptr) 本函数用来没置远指针farptr的段值
, f( ]7 U' _2 f  I1 J  S3 X2 I  hwww.520diannao.comvoid far *MK_FP(unsigned seg,unsigned off)根据段seg和偏移量off构造一个far指针 我爱电脑技术社区--打造最好的电脑技术自学交流平台8 H6 r; i" t* f0 n8 v- @( {$ K( F
unsigned getpsp() 取程序段前缀的段地址,并返回这个地址
* T4 N: |3 j8 _9 r: }0 z电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站char *parsfnm(char *cmdline,struct fcb *fcbptr,int option)
' i: I4 I  g+ }# j) O9 u: E6 Lwww.520diannao.com函数分析一个字符串,通常,对一个文件名来说,是由cmdline所指的一个命令行. 文件名是放入一个FCB中作为一个驱动器,文件名和扩展名.FCB是由fcbptr所指定的. $ h- p6 F. p" {! m
option参数是DOS分析系统调用时,AL文本的值. 我爱电脑技术社区--打造最好的电脑技术自学交流平台, }8 c1 V7 v9 f4 i
int absread(int drive,int nsects,int sectno,void *buffer) 我爱电脑技术社区--打造最好的电脑技术自学交流平台  q( E4 }( k+ K3 B+ S# G& T
本函数功能为读特定的磁盘扇区,
7 V, e% {0 Y( x& `6 k1 u我爱电脑技术论坛drive为驱动器号(0=A,1=B等),nsects为要读的扇区数,sectno为开始的逻辑扇区号,buff
# t- A4 [$ W/ P+ {打造最好的电脑自学交流论坛er为保存所读数据的保存空间 打造最好的电脑自学交流论坛- y1 R0 H% T; j* u/ ^& {( g7 m2 I# G
int abswrite(int drive,int nsects,int sectno,void *buffer)
8 l8 D3 `: z* Z" T! ]本函数功能为写特定的磁盘扇区, 打造最好的电脑自学交流论坛7 x. [4 X! P" L3 J" ?
drive为驱动器号(0=A,1=B等),nsects为要写的扇区数,sectno为开始的逻辑扇区号,buffer为保存所写数据的所在空间 我爱电脑技术社区--打造最好的电脑技术自学交流平台1 |; r- R" F- \1 p
void getdfree(int drive,struct dfree *dfreep)
  T. T# Y/ J4 E1 m1 c3 O% ?打造最好的电脑自学交流论坛本函数用来取磁盘的自由空间,
6 w, S7 b. Z# M2 p% E我爱电脑技术社区--打造最好的电脑技术自学交流平台drive为磁盘号(0=当前,1=A等).函数将磁盘特性的由dfreep指向的dfree结构中. dfree结& J# g. }" x9 c3 j% M1 m( p
构如下:
' E  d/ b3 c) F- h# I. ^打造最好的电脑自学交流论坛struct dfree
- a! Q/ j# B) {* `" j6 i7 ~我爱电脑技术社区--打造最好的电脑技术自学交流平台{  打造最好的电脑自学交流论坛; k) |; K, n4 ^# k- q# K
unsigned df_avail; /*有用簇个数*/
! J  |$ g: I& q1 `- D电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站unsigned df_total; /*总共簇个数*/  电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站9 U5 i7 {/ T7 g) S
unsigned df_bsec; /*每个扇区字节数*/
$ [7 g$ _) H9 M0 {- Z- h7 d0 k6 w: U电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站unsigned df_sclus; /*每个簇扇区数*/
9 n/ r$ m2 z, E3 e' Q我爱电脑技术社区--打造最好的电脑技术自学交流平台} 我爱电脑技术论坛6 m% `5 m1 [- G/ h
char far *getdta() 取磁盘转换地址DTA 打造最好的电脑自学交流论坛1 ]3 `' L+ S5 c7 W, y! P% m
void setdta(char far *dta) 设置磁盘转换地址DTA 我爱电脑技术论坛  a$ B$ \* j) x6 j# n' S. B
void getfat(int drive,fatinfo *fatblkp) 打造最好的电脑自学交流论坛9 x! x& H* ~9 O! f, V
本函数返回指定驱动器drive(0=当前,1=A,2=B等)的文件分配表信息并存入结构fatblkp中,结构如下: 我爱电脑技术社区--打造最好的电脑技术自学交流平台- |' h8 m% t! W% B, m( B
struct fatinfo  
. Z" G( u9 x  ?% a8 q9 B( v0 I打造最好的电脑自学交流论坛{  
/ Y7 J* b; q- q- p% b我爱电脑技术社区--打造最好的电脑技术自学交流平台char fi_sclus; /*每个簇扇区数*/  
4 M6 ]7 X- c6 m6 g8 M9 B- i" V# ]打造最好的电脑自学交流论坛char fi_fatid; /*文件分配表字节数*/ 我爱电脑技术论坛! J0 H! a* I6 O) i- X
int fi_nclus; /*簇的数目*/  
7 y; @- \. E: `$ G' E* E( c+ s* s我爱电脑技术社区--打造最好的电脑技术自学交流平台int fi_bysec; /*每个扇区字节数*/  
6 `* G' L% j8 J! K/ B# o% G9 G我爱电脑技术论坛}
6 r" t% Q$ u# l/ T' z: |void getfatd(struct fatinfo *fatblkp) 本函数返回当前驱动器的文件分配表信息, 并存入结构fatblkp中,结构如下:
4 k7 @; p  o* I% i2 Y我爱电脑技术社区--打造最好的电脑技术自学交流平台struct fatinfo  
0 B! u: l5 r( i, a- m8 S+ R打造最好的电脑自学交流论坛{
  M% _/ [( B+ Dwww.520diannao.comchar fi_sclus; /*每个簇扇区数*/
; [6 l1 A7 z- b& S/ Y打造最好的电脑自学交流论坛char fi_fatid; /*文件分配表字节数*/
' Q  n1 X* p$ `# _# O8 ~- m8 Zwww.520diannao.comint fi_nclus; /*簇的数目*/  我爱电脑技术论坛* a8 E% ^" m. V+ |
int fi_bysec; /*每个扇区字节数*/  我爱电脑技术论坛9 n" g9 J9 ^# q" `4 A* a* w
}  
$ R* ]4 h' w/ U  w+ x9 ^6 S打造最好的电脑自学交流论坛int bdos(int dosfun,unsigned dosdx,unsigned dosal)
* g5 G' y7 x! T0 D( q2 A本函数对MSDOS系统进行调用, dosdx为寄存器dx的值,dosal为寄存器al的值,dosfun为功能号 www.520diannao.com- H/ P+ M, w! m4 L# z# D- C
int bdosptr(int dosfun,void *argument,unsiigned dosal)
: C3 Z& L) n* q+ @5 T: i$ Swww.520diannao.com本函数对MSDOS系统进行调用,
1 c# s0 D7 W6 h% j# L我爱电脑技术社区--打造最好的电脑技术自学交流平台argument为寄存器dx的值,dosal为寄存器al的值,dosfun为功能号
7 O8 v+ u/ z" uint int86(int intr_num,union REGS *inregs,union REGS *outregs) 打造最好的电脑自学交流论坛0 S- H7 ]( U/ f; y
执行intr_num号中断,用户定义的寄存器值存于结构inregs中, 执行完后将返回的寄存器值存于结构outregs中. 我爱电脑技术论坛0 I; V7 w5 T. ~% |3 W+ \8 S
int int86x(int intr_num,union REGS *inregs,union REGS *outregs, struct SREGS *segregs)
9 c4 E6 n- L5 h! ~, G6 h0 h; ~我爱电脑技术社区--打造最好的电脑技术自学交流平台执行intr_num号中断,用户定义的寄存器值存于结构inregs中和结构segregs中,执行完后将返回的寄存器值存于结构outregs中.
' i* B, ^# l+ @9 D. i) v我爱电脑技术论坛int intdos(union REGS *inregs,union REGS *outregs) 打造最好的电脑自学交流论坛+ D- m3 x* d6 h/ @, u
本函数执行DOS中断0x21来调用一个指定的DOS函数,用户定义的寄存器值存于结构inregs中,执行完后函数将返回的寄存器值存于结构outregs中
3 S- j* C" k5 [! j+ J0 `我爱电脑技术社区--打造最好的电脑技术自学交流平台int intdosx(union REGS *inregs,union REGS *outregs,struct SREGS *segregs) 我爱电脑技术论坛$ ]% h, B4 G0 L: r  e
本函数执行DOS中断0x21来调用一个指定的DOS函数,用户定义的寄存器值存于结构inregs和segregs中,执行完后函数将返回的寄存器值存于结构outregs中
/ P9 N: O% b  v' w我爱电脑技术社区--打造最好的电脑技术自学交流平台void intr(int intr_num,struct REGPACK *preg)
9 b. a7 f" e1 g  o! v* n! Gwww.520diannao.com本函数中一个备用的8086软件中断接口它能产生一个由参数intr_num指定的8086软件中断. 函数在执行软件中断前, 从结构preg复制用户定义的各寄存器值到各个寄存器.软件中断完成后, 函数将当前各个寄存器的值复制到结构preg中.参数如下: 我爱电脑技术社区--打造最好的电脑技术自学交流平台9 h2 s9 ^9 e3 `( L: h( F' L
intr_num 被执行的中断号,preg为保存用户定义的寄存器值的结构,结构如下
, _) R% e9 @: J( u% Iwww.520diannao.comstruct REGPACK  电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站. u6 M* V9 [2 W7 l8 ?2 L" J
{  电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站  {' \: b8 e" C: g$ ^/ {5 k9 ^
unsigned r_ax,r_bx,r_cx,r_dx;  
0 P7 D8 m" G$ a. T2 r$ `, T* X我爱电脑技术论坛unsigned r_bp,r_si,r_di,r_ds,r_es,r_flags;  
! B. y6 J& k% T0 E1 E% z│}  
$ f. P; ^8 h; }4 G函数执行完后,将新的寄存器值存于结构preg中
: D% W' \; r' L+ O. [/ H3 b电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站void keep(int status,int size)
* A% ~& G1 p* a电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站以status状态返回MSDOS,但程序仍保留于内存中,所占用空间由size决定.
( U) v# F& d8 B: o: Vwww.520diannao.comvoid ctrlbrk(int (*fptr)()) 设置中断后的对中断的处理程序. 打造最好的电脑自学交流论坛; S+ }5 L" a0 S# z; z' W
void disable() 禁止发生中断 : ^# D% n% h5 W" Z# }
void enable() 允许发生中断
1 k' ?( N+ [; m0 I$ I. b$ [打造最好的电脑自学交流论坛void geninterrupt(int intr_num) 执行由intr_num所指定的软件中断 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站  c2 M, W0 O6 l* M: c
void interrupt(* getvect(int intr_num))() 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站0 C( O) j0 h5 G
返回中断号为intr_num的中断处理程序, 例如: old_int_10h=getvect(0x10); 我爱电脑技术论坛/ `1 v8 Q# X' y
void setvect(int intr_num,void interrupt(* isr)())
# l+ E. n" j4 r' [1 K% B电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站设置中断号为intr_num的中断处理程序为isr,例如: setvect(0x10,new_int_10h);
5 W1 o; t. r+ w" W/ e我爱电脑技术论坛void harderr(int (*fptr)())
1 P' @; f5 H$ t, o1 [. ?  t- }定义一个硬件错误处理程序, 每当出现错误时就调用fptr所指的程序 我爱电脑技术社区--打造最好的电脑技术自学交流平台/ ~+ _0 \4 D  E5 m( j
void hardresume(int rescode) 硬件错误处理函数
& r$ F$ M! S% C+ Z7 Jvoid hardretn(int errcode) 硬件错误处理函数
# W3 h2 B" b0 z  Hint inport(int prot) 从指定的输入端口读入一个字,并返回这个字 我爱电脑技术论坛7 M6 Y2 O2 p) Y9 ]9 A
int inportb(int port) 从指定的输入端口读入一个字节,并返回这个字节 打造最好的电脑自学交流论坛4 Z7 m' R, Z  e
void outport(int port,int word) 将字word写入指定的输出端口port 我爱电脑技术论坛; y8 w! ?% ?+ c& w$ J. z# A
void outportb(int port,char byte) 将字节byte写入指定的输出端口port 打造最好的电脑自学交流论坛7 l8 S/ ~1 W1 B. ]* V
int peek(int segment,unsigned offset)
$ T- z7 y, H4 I$ J) a, k我爱电脑技术论坛函数返回segmentffset处的一个字
4 |% {/ X, u! b我爱电脑技术社区--打造最好的电脑技术自学交流平台char peekb(int segment,unsigned offset) 我爱电脑技术论坛3 N7 W% e0 o+ W: |
函数返回segmentffset处的一个字节 我爱电脑技术论坛+ T# r" [4 j4 I; c: g; M
void poke(int segment,int offset,char value) 我爱电脑技术社区--打造最好的电脑技术自学交流平台4 x& L; |4 T6 y
将字value写到segmentffset处
- Y1 `" a& i( Avoid pokeb(int segment,int offset,int value) 我爱电脑技术社区--打造最好的电脑技术自学交流平台% x& }4 z0 L; S, W# W5 E9 F9 ~& O" f
将字节value写到segmentffset处 打造最好的电脑自学交流论坛8 J( w/ N. E! J( m* F# J( x$ p
int randbrd(struct fcb *fcbptr,int reccnt) 4 v) J/ i, O. b- a8 ~5 U% `# [9 u
函数利用打开fcbptr所指的FCB读reccnt个记录.
# r4 M# ^0 ]& l( n+ }. z我爱电脑技术社区--打造最好的电脑技术自学交流平台int randbwr(struct fcb *fcbptr,int reccnt) 打造最好的电脑自学交流论坛5 n3 D' z* I2 |' W: ]$ ^
函数将fcbptr所指的FCB中的reccnt个记录写到磁盘上 打造最好的电脑自学交流论坛, c" ]3 z8 X# f3 }- o$ @
void segread(struct SREGS *segtbl)函数把段寄存器的当前值放进结构segtbl中
8 T7 N# Q, b7 ?1 cint getverify() 取检验标志的当前状态(0=检验关闭,1=检验打开) $ U) i. T+ y. j9 G. ~
void setverify(int value)
! v# i! P, A3 P' P7 S  {+ }设置当前检验状态, value为0表示关闭检验,为1表示打开检验
$ G8 d0 ?) }! i' K6 N4 Q9 }我爱电脑技术社区--打造最好的电脑技术自学交流平台int getcbrk()本函数返回控制中断检测的当前设置 我爱电脑技术社区--打造最好的电脑技术自学交流平台" i  W$ ]# h4 p% D. T, N
int setcbrk(int value)本函数用来设置控制中断检测为接通或断开当value=0时,为断开检测.当value=1时,为接开检测
; ^3 l8 p- D7 ]1 ?. Q电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站int dosexterr(struct DOSERR *eblkp)
8 u, ]1 A- F5 v5 h& q  b! t取扩展错误.在DOS出现错误后,此函数将扩充的错误信息填入eblkp所指的DOSERR结构中.该结构定义如下: & `2 V) [* \+ p  F
struct DOSERR  www.520diannao.com0 k1 n# C6 H% I$ O: o/ x
{  
* L+ B' w: {$ ]7 s4 fint exterror;/*扩展错误*/ 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站$ M1 K- B* [6 U9 D; u
char class; /*错误类型*/  我爱电脑技术社区--打造最好的电脑技术自学交流平台5 ~( l5 C+ x2 m9 N# z9 u3 Z
char action; /*方式*/  我爱电脑技术社区--打造最好的电脑技术自学交流平台- [2 a2 K/ [) \9 u5 X$ K
char locus; /*错误场所*/ 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站- o8 F! a' u3 A; C
}  www.520diannao.com7 o# S0 A4 j% H. \- g9 q0 _
int bioscom(int cmd,char type,int port) 本函数负责对数据的通讯工作,
2 `8 v3 T) G6 _( i9 e8 Vcmd可以为以下值:
/ v* a2 k  Q8 f2 V我爱电脑技术社区--打造最好的电脑技术自学交流平台0 置通讯参数为字节byte值 1 发送字符通过通讯线输出
% l: ?9 F& ?" M$ i. @# ywww.520diannao.com2 从通讯线接受字符 3 返回通讯的当前状态
7 C+ Y( h. E2 Z& j; `我爱电脑技术社区--打造最好的电脑技术自学交流平台port为通讯端口,port=0时通讯端口为COM1,port=1时通讯端口为COM2,以此类推 byte为传送或接收数据时的参数,为以下位的组合: 我爱电脑技术论坛# D+ F' D) d9 R( a
byte值│意义 │byte值│意义 │byte值│意义    v" n  B8 `% k
0x02 │7数据位 │0x03 │8数据位 │0x00 │1停止位  www.520diannao.com& u7 @. X) P* E: ^1 L: I0 g- C3 |
0x04 │2停止位 │0x00 │无奇偶性 │0x08 │奇数奇偶性 我爱电脑技术论坛0 q% P7 E6 x& u3 A
0x18 │偶数奇偶性│0x00 │110波特 │0x20 │150波特  电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站9 S$ d, R7 n* H7 T% o& \9 ], W
0x40 │300波特 │0x60 │600波特 │0x80 │1200波特  我爱电脑技术社区--打造最好的电脑技术自学交流平台) l9 J3 y" y  \/ y2 [; d/ \( k
0xA0 │2400波特 │0xC0 │4800波特 │0xE0 │9600波特  
! e! {  X9 k4 X7 m5 x* o我爱电脑技术论坛例如:0xE0|0x08|0x00|0x03即表示置通讯口为9600波特,奇数奇偶性,1停止位, 8数据位. 函数返回值为一个16位整数,定义如下: 打造最好的电脑自学交流论坛1 G, ]2 y7 W) p  r) s
第15位 超时 4 S) A: }9 W3 r( I6 |  u7 U; z
第14位 传送移位寄存器空
5 C. \2 Z1 ^: m, ?- G1 {1 i1 c打造最好的电脑自学交流论坛第13位 传送固定寄存器空
/ V: [1 P, S  ?第12位 中断检测
6 B( g# [+ P( O9 J' n# _) `打造最好的电脑自学交流论坛第11位 帧错误
: {4 I0 K7 C4 K* @我爱电脑技术社区--打造最好的电脑技术自学交流平台第10位 奇偶错误
  {! I7 y, u$ H" m第 9位 过载运行错误 www.520diannao.com' a: i& h4 k- h* g1 j& _- T
第 8位 数据就绪 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站9 O* Z% v& p+ t9 u; N$ }
第 7位 接收线信号检测 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站; {) m. @, j# [4 I
第 6位 环形指示器 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站# M* @  [, \/ E* a
第 5位 数据设置就绪
, r% O  {7 V) g& E* N第 4位 清除发送
" q  y$ j7 s- t4 q1 t$ o我爱电脑技术论坛第 3位 δ接收线信号检测器 打造最好的电脑自学交流论坛# c3 {1 _' W- k+ K6 `
第 2位 下降边环形检测器 我爱电脑技术论坛4 E. l5 p# f1 T/ T2 A8 B$ O
第 1位 δ数据设置就绪 8 {( a/ r! R8 Z8 X) ^$ {1 c: i
第 0位 δ清除发送 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站$ R- i6 e$ P. o9 r! A7 o8 @. J4 e
int biosdisk(int cmd,int drive,int head,int track, int sector,int nsects,void' p6 `# b9 o' @0 t
*buffer) 我爱电脑技术论坛$ O% A0 P+ @$ I. S
本函数用来对驱动器作一定的操作,cmd为功能号, drive为驱动器号(0=A,1=B,0x80=C,0x81=D,0x82=E等).cmd可为以下值: 打造最好的电脑自学交流论坛9 |* S& z+ a' ]! Z- x4 ~4 v3 C& E
0 重置软磁盘系统.这强迫驱动器控制器来执行硬复位.忽略所有其它参数. 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站. z2 d1 D& |  }% f3 D' G# S
1 返回最后的硬盘操作状态.忽略所有其它参数
+ [  H- `% N/ _0 g! rwww.520diannao.com2 读一个或多个磁盘扇区到内存.读开始的扇区由head、track、sector给出。扇区号由nsects给出。把每个扇区512个字节的数据读入buffer 2 C/ R9 f9 h# T
3 从内存读数据写到一个或多个扇区。写开始的扇区由head、track、sector给出。扇区号由nsects给出。所写数据在buffer中,每扇区512个字节。
1 B6 m/ S) V) Y* I% L" ~! @4 F电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站4 检验一个或多个扇区。开始扇区由head、track、sector给出。扇区号由nsects给出。
- |& Q) o- y3 l9 H4 z* D1 u) P我爱电脑技术论坛5 格式化一个磁道,该磁道由head和track给出。buffer指向写在指定track上的扇区磁头器的一个表。以下cmd值只允许用于XT或AT微机: 我爱电脑技术论坛6 a$ i9 y7 g! o4 x: @( r: K
6 格式化一个磁道,并置坏扇区标志。
; v/ `2 E1 I3 y( r+ I4 vwww.520diannao.com7 格式化指定磁道上的驱动器开头。 9 J3 K2 z- V/ M+ G( q
8 返回当前驱动器参数,驱动器信息返回写在buffer中(以四个字节表示)。 我爱电脑技术社区--打造最好的电脑技术自学交流平台: M2 x, D; [; T! ?$ ?  K
9 初始化一对驱动器特性。 www.520diannao.com4 v, w0 m, ~1 y0 \% ?, D9 P) o
10 执行一个长的读,每个扇区读512加4个额外字节
& \& Y# c$ }& \# O2 m3 |www.520diannao.com11 执行一个长的写,每个扇区写512加4个额外字节
, J3 D) m: [7 p1 V( Pwww.520diannao.com12 执行一个磁盘查找 打造最好的电脑自学交流论坛/ w8 I% H. u% @
13 交替磁盘复位
+ r3 @5 }6 Z3 L* ?) B14 读扇区缓冲区 % k1 t1 s7 F8 ]9 [; y$ y  l
15 写扇区缓冲区 我爱电脑技术论坛( T8 U* Q+ n+ z: K! w2 [  z
16 检查指定的驱动器是否就绪 我爱电脑技术社区--打造最好的电脑技术自学交流平台# h+ ]% g1 m. I, N5 \* p
17 复核驱动器 我爱电脑技术社区--打造最好的电脑技术自学交流平台$ Y- B: r! n2 h& I( B8 X" S
18 控制器RAM诊断
% q" {+ a1 ?+ L- m8 N我爱电脑技术社区--打造最好的电脑技术自学交流平台19 驱动器诊断
2 n9 O: {5 G0 P9 F我爱电脑技术社区--打造最好的电脑技术自学交流平台20 控制器内部诊函数返回由下列位组合成的状态字节:
& ^0 T1 c9 |$ z% t9 v* R  a1 y4 Q我爱电脑技术论坛0x00 操作成功
+ B% I- f% a  o7 d我爱电脑技术论坛0x01 坏的命令
9 j* \; u7 c9 h- P我爱电脑技术社区--打造最好的电脑技术自学交流平台0x02 地址标记找不到 我爱电脑技术社区--打造最好的电脑技术自学交流平台' W+ S. n" c7 Y. p$ o2 f' }
0x04 记录找不到 打造最好的电脑自学交流论坛+ q+ `) }4 P" E% v
0x05 重置失败 我爱电脑技术论坛1 I+ @4 k' \; t: M! x+ a! G
0x07 驱动参数活动失败 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站; K6 Q4 `7 W+ D; v, l' M5 K
0x09 企图DMA经过64K界限
& b( z% r3 o! p: C0x0B 检查坏的磁盘标记
# e1 D# N5 F* C4 p# R* ]" r我爱电脑技术社区--打造最好的电脑技术自学交流平台0x10 坏的ECC在磁盘上读 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站& c6 }; ?" V3 }+ V6 f& g$ m
0x11 ECC校正的数据错误(注意它不是错误)
* i: E9 J# H( m- U) |  G/ U我爱电脑技术社区--打造最好的电脑技术自学交流平台0x20 控制器失效 www.520diannao.com. z0 {5 Z# B4 [5 D6 Q2 B5 j
0x40 查找失败 我爱电脑技术论坛1 ^8 a9 P$ I+ D( |" Z& b/ _& }
0x80 响应的连接失败 5 S* S# w# X1 u1 A6 P
0xBB 出现无定义错误
( H* F$ A* c: f0 E: N3 gwww.520diannao.com0xFF 读出操作失败
% y! T: k( q' W% C1 l我爱电脑技术论坛int biodquip()
3 L4 D' i3 U2 E* p# S0 l电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站检查设备,函数返回一字节,该字节每一位表示一个信息,如下: * H0 b/ W3 \- p. s6 N: m
第15位 打印机号
3 f2 G6 h3 R# I, P' ~www.520diannao.com第14位 打印机号
7 R  S. _4 X+ a- F/ k* u$ }7 r3 V打造最好的电脑自学交流论坛第13位 未使用
9 _, |; U0 |5 ]: t9 _- Nwww.520diannao.com第12位 连接游戏I/O 0 V- o. m5 l8 ?. m% U* J
第11位 RS232端口号 我爱电脑技术社区--打造最好的电脑技术自学交流平台5 M  Q8 w8 u; m' D
第 8位 未使用 我爱电脑技术论坛8 B/ T2 k" J+ V; U5 I+ C/ l. C  Y
第 7位 软磁盘号
- G6 p3 G2 U/ t- L' jwww.520diannao.com第 6位 软磁盘号,
1 w/ h# i$ P3 J( N, l打造最好的电脑自学交流论坛00为1号驱动器,01为2号驱动器,10为3号驱动器,11为4号驱动器
" x, A. A. P: m/ y+ ]打造最好的电脑自学交流论坛第 5位 初始化 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站: x5 W! ]' d" Y& T" M4 V
第 4位 显示器模式 我爱电脑技术论坛0 ^5 E" X6 T( y0 x; L
00为未使用,01为40x25BW彩色显示卡 打造最好的电脑自学交流论坛& `  G2 o4 F$ c* \7 r! {( r
10为80x25BW彩色显示卡,11为80x25BW单色显示卡 打造最好的电脑自学交流论坛. p# E' P. z2 ]& `$ |
第 3位 母扦件
, |* \% E& v$ U* g" R我爱电脑技术社区--打造最好的电脑技术自学交流平台第 2位 随机存贮器容量,00为16K,01为32K,10为48K,11为64K 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站$ G6 U  A4 D5 X5 P% L2 s
第 1位 浮点共用处理器 打造最好的电脑自学交流论坛, v- V, O2 B+ \8 Q, T$ W
第 0位 从软磁盘引导 www.520diannao.com* ?4 Y) ]8 m6 M3 H( F1 o8 z5 g
int bioskey(int cmd)本函数用来执行各种键盘操作,由cmd确定操作。 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站- G" f4 c$ f# w. |" e' P& q8 W
cmd可为以下值: 9 |9 S  {" b9 b7 |3 D& m' w  e' _
0 返回敲键盘上的下一个键。若低8位为非0,即为ASCII字符;若低8位为0, 则返回扩充了的键盘代码。 www.520diannao.com, i# v1 L& M) S8 r( h8 L
1 测试键盘是否可用于读。返回0表示没有键可用;否则返回下一次敲键之值。 敲键本身一直保持由下次调用具的cmd值为0的bioskey所返回的值。
8 B6 ~# X( x9 g3 M& @我爱电脑技术社区--打造最好的电脑技术自学交流平台2 返回当前的键盘状态,由返回整数的每一个位表示,见下:
9 `3 ]0 x7 w. T% b( P! m% [/ H: ~www.520diannao.com位 │为0时意义 │为1时意义  打造最好的电脑自学交流论坛9 a4 K" Z6 u" @9 ^1 F
7 │插入状态 │改写状态  
5 M6 K+ y) h% n/ O( U打造最好的电脑自学交流论坛6 │大写状态 │小写状态  www.520diannao.com* Y# r9 m4 Y( w) V% i$ x
5 │数字状态,NumLock灯亮 │光标状态,NumLock灯熄 & r7 t$ {3 _' z
4 │ScrollLock灯亮 │ScrollLock灯熄  
+ Q$ s/ X) v* Y$ R: ?4 b0 ]我爱电脑技术社区--打造最好的电脑技术自学交流平台3 │Alt按下 │Alt未按下  
! F. N0 y; r8 l- lwww.520diannao.com2 │Ctrl按下 │Ctrl未按下  
( d$ G  s" |+ z; x/ ]www.520diannao.com1 │左Shift按下 │左Shift未按下  www.520diannao.com% ~! z/ f* d) x6 V/ U  T
0 │右Shift按下 │右Shift未按下  
  H$ ~0 X% z* T" F  _; Wwww.520diannao.comint biosmemory() 返回内存大小,以K为单位.
, ?7 D2 j3 s7 \7 K, \: L) awww.520diannao.comint biosprint(int cmd,int byte,int port) 控制打印机的输入/输出.
7 x8 G9 @* O2 y. U, l% ?3 s6 s0 Z$ i电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站port为打印机号,0为LPT1,1为LPT2,2为LPT3等
, A9 @& f( ]2 U. r6 \2 g4 C5 hcmd可以为以下值: 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站, x% q$ T+ ^1 ?8 u
0 打印字符,将字符byte送到打印机
5 @9 K2 i! V6 I0 W我爱电脑技术社区--打造最好的电脑技术自学交流平台1 打印机端口初始化
" {! b3 X2 D5 h' v# W0 P3 iwww.520diannao.com2 读打印机状态
4 F% l  J# I  ?5 Q% C( awww.520diannao.com函数返回值由以下位值组成表示当前打印机状态 www.520diannao.com  d. f* q2 e! q' e# V7 Q$ T
0x01 设备时间超时 ( M, ^$ i5 Y1 f( g2 F# F$ D
0x08 输入/输出错误
+ E! v$ R1 {( k# M! N0x10 选择的 , z9 M; U, R, r* W
0x20 走纸 我爱电脑技术社区--打造最好的电脑技术自学交流平台: Y% z( P3 @( w* `8 Z  b
0x40 认可 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站1 ?* Q/ x: i* ^; y- A2 y& T3 V
0x80 不忙碌
* H% o4 `+ N/ `. Q. I打造最好的电脑自学交流论坛int biostime(int cmd,long newtime)计时器控制,cmd为功能号,可为以下值
; H/ o: R; L& U0 m, _我爱电脑技术论坛0 函数返回计时器的当前值
& E/ S" ~8 K8 E, i0 ?2 b% O我爱电脑技术社区--打造最好的电脑技术自学交流平台1 将计时器设为新值newtime struct country *country(int countrycmode,struct country *countryp) 本函数用来控制某一国家的相关信息,如日期,时间,货币等. 若countryp=-1时,当前的国家置为countrycode值(必须为非0).否则,由countryp所指向的country结构用下列的国家相关信息填充: www.520diannao.com  C- L- g; ~3 R' u7 y& Z" J
(1)当前的国家(若countrycode为0或2)由countrycode所给定的国家. 我爱电脑技术社区--打造最好的电脑技术自学交流平台1 T* Z$ A4 H6 A6 b, v& U  G
结构country定义如下: 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站2 O9 l) r/ T. W
struct country 打造最好的电脑自学交流论坛' H4 w# O! p( F/ E/ q
{  我爱电脑技术论坛( W, L( B: z. B: o; v; Q. {
int co_date; /*日期格式*/  www.520diannao.com* B1 F4 z( W: p" F8 B5 R
char co_curr[5]; /*货币符号*/  
- [/ |1 s' p* J+ }6 i* G* ochar co_thsep[2]; /*数字分隔符*/ 打造最好的电脑自学交流论坛/ [$ v( V7 r. P
char co_desep[2]; /*小数点*/  我爱电脑技术论坛5 ~2 B& o$ i" ^; W
char co_dtsep[2]; /*日期分隔符*/  
0 U* I! r' W8 z1 _& {我爱电脑技术论坛char co_tmsep[2]; /*时间分隔符*/  
7 ~+ x/ O9 M! Z# J( x电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站char co_currstyle; /*货币形式*/  我爱电脑技术论坛  H+ a1 U4 y! r) M) e/ g0 q6 }
char co_digits; /*有效数字*/  我爱电脑技术论坛3 x) g4 @7 \3 x. G. m- y7 X' S
int (far *co_case)(); /*事件处理函数*/  
0 K1 v# N  C3 S# }打造最好的电脑自学交流论坛char co_dasep; /*数据分隔符*/ 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站8 H+ k: m/ I: g1 K. v
char co_fill[10]; /*补充字符*/  
/ X4 H2 w6 e9 @8 \7 M+ S! @}  
/ K( \2 L" W8 qco_date的值所代表的日期格式是: 我爱电脑技术论坛9 |, k+ L- R& K4 A6 N; x" o, m
0 月日年 1 日月年 2 年月日
% j* z) K# E; g3 X我爱电脑技术社区--打造最好的电脑技术自学交流平台co_currstrle的值所代表的货币显示方式是 我爱电脑技术社区--打造最好的电脑技术自学交流平台* V3 J. }' W8 D# j
0 货币符号在数值前,中间无空格
* B+ R" F6 [, L! D8 u) \; D/ m* L我爱电脑技术论坛1 货币符号在数值后,中间无空格
- \' e( q0 v9 }4 U  B* w9 R电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站2 货币符号在数值前,中间有空格 1 f% _% E) d5 e+ ?: ~: P
3 货币符号在数值后,中间有空格 我爱电脑技术社区--打造最好的电脑技术自学交流平台' H* r* L# T0 v; i
操作函数,所在函数库为string.h、mem.h 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站+ ]+ U. r3 F8 D# o6 k3 J! _
mem…操作存贮数组 打造最好的电脑自学交流论坛( Y9 C# M4 [' y" t
void *memccpy(void *destin,void *source,unsigned char ch,unsigned n)
+ z% j6 A/ r; L4 `- D我爱电脑技术论坛void *memchr(void *s,char ch,unsigned n) www.520diannao.com+ v4 f7 J3 d* T
void *memcmp(void *s1,void *s2,unsigned n) 打造最好的电脑自学交流论坛) K/ n" x4 r8 ^6 O% K- w
int memicmp(void *s1,void *s2,unsigned n)
- X$ e& J0 N# K" O, Z打造最好的电脑自学交流论坛void *memmove(void *destin,void *source,unsigned n)
* Q" A/ p9 t# Z( w6 s; c) w电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站void *memcpy(void *destin,void *source,unsigned n)
. C2 ]: H( T6 Y5 q6 n8 ^8 T% kvoid *memset(void *s,char ch,unsigned n) 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站/ {! Z8 p: U! e5 s& H7 [
这些函数,mem…系列的所有成员均操作存贮数组.在所有这些函数中,数组是n字节长.
, e6 d( c) q6 r/ H" K! y我爱电脑技术社区--打造最好的电脑技术自学交流平台memcpy从source复制一个n字节的块到destin.如果源块和目标块重迭,则选择复制方向, 以例正确地复制覆盖的字节.
: G( }; t0 ?1 t2 w/ \; b0 [  i2 K打造最好的电脑自学交流论坛memmove与memcpy相同. memset将s的所有字节置于字节ch中.s数组的长度由n给出. 我爱电脑技术论坛) W' a1 \" _0 q' k$ |+ c9 z2 j
memcmp比较正好是n字节长的两个字符串s1和s2.些函数按无符号字符比较字节,因此,
6 ]  J6 T6 l% o: Q  c$ O我爱电脑技术社区--打造最好的电脑技术自学交流平台memcmp("0xFF","\x7F",1)返回值大于0. memicmp比较s1和s2的前n个字节,不管字符大写或小写. 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站0 O- C$ v$ R+ G  B- I
memccpy从source复制字节到destin.复制一结束就发生下列任一情况: 我爱电脑技术社区--打造最好的电脑技术自学交流平台1 n# n: P8 m* F! _
(1)字符ch首选复制到destin. 打造最好的电脑自学交流论坛) d) ]- Y! x% u3 A. {- j% a) L0 ]% C
(2)n个字节已复制到destin. 我爱电脑技术论坛+ p1 s. e& O7 ^2 g
memchr对字符ch检索s数组的前n个字节. www.520diannao.com# T/ n  T) f# T8 s
返回值:memmove和memcpy返回destin 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站! Q, R* F4 f5 e0 ^( m
memset返回s的值
) c' L6 m. u. L( G% P% {电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站memcmp和memicmp若s1<s2返回值小于0
/ U9 `. D2 X: p5 T我爱电脑技术论坛若s1=s2返回值等于0 我爱电脑技术社区--打造最好的电脑技术自学交流平台1 t6 q; R# b% A) U
若s1>s2返回值大于0
8 p- t8 v5 l# R) v/ {9 p4 C电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站memccpy若复制了ch,则返回直接跟随ch的在destin中的字节的一个指针; 否则返回NULL
0 _9 g4 m  H# e8 G* |2 h我爱电脑技术论坛memchr返回在s中首先出现ch的一个指针;如果在s数组中不出现ch,就返回NULL.
* X* b7 }* c/ h) B  _8 ^1 r: K我爱电脑技术论坛void movedata(int segsrc,int offsrc, int segdest,int offdest, unsigned numbytes) www.520diannao.com1 d' q$ ~7 S5 @" u
本函数将源地址(segsrcffsrc)处的numbytes个字节复制到目标地址(segdestffdest)
! U9 F4 k. B; n我爱电脑技术社区--打造最好的电脑技术自学交流平台void movemem(void *source,void *destin,unsigned len)
% t" {6 Z+ z. D* u. m4 A0 fwww.520diannao.c