1
C
语言的常用库函数
==============================================
absread()
读磁盘绝对扇区函数
原形:
intabsread(intdrive,intnum,intctnum,void*buf)
功能:从
drive
指定的驱动器磁盘上,
ctnum
指定的逻辑扇区号开始读取
(
通过
DOS
中断
0x25
读取
)num
个
(
最多
64K
个
)
扇区的内容,储存于
buf
所指的缓冲区
中。
参数:
drive=0
对应
A
盘
,drive=1
对应
B
盘。
返回值:
0:
成功;
-1:
失败。
头文件:
dos.h
abswrite()
写磁盘绝对扇区函数
原形:
intabswrite(intdrive,intncts,intlct,void*buffer)
drive=0(A
驱动器
)
、
1(B
驱动器
)
、
ncts=
要写的扇区数
(
最多
64K
个
);
lct=
起始逻辑扇区号
;
buffer=
要写入数据的内存起始地址。
功能:将指定内容写入
(
调用
DOS
中断
0x26)
磁盘上的指定扇区,即使写入的地
方是磁盘的逻辑结构、文件、
FAT
表和目录结构所在的扇区,也照常进行。
返回值:
0:
成功;
-1:
失败。
头文件:
dos.h
atof()
将字符串转换成浮点数的函数
原形:
doubleatof(constchar*s)
功能:把
s
所指向的字符串转换成
double
类型。
s
格式为
:
符号数字
.
数字
E
符号数字
返回值:字符串的转换值。
头文件:
math.h
、
stdlib.h
atoi()
将字符串转换成整型数的函数
原形:
intatoi(constchar*s)
功能:把
s
所指向的字符串转换成
int
类型。
s
格式为
:
符号数字
返回值:字符串的转换值。若出错则返回
0
。
头文件:
stdlib.h
atol()
将字符串转换成长整型数的函数
原形:
longatol(constchar*s)
功能:把
s
所指向的字符串转换成
longint
类型。
s
格式为
:
符号数字
返回值:字符串的转换值。若出错则返回
0
。
头文件:
stdlib.h
bcd()
把一个数转换成对应的
BCD
码的函数
2
原形:
bcdbcd(intx)
bcdbcd(doublex)
bcdbcd(doublex,intdecimals)
注意:
BCD
码的精度可达
17
位。参数
decimals
是可选的,用来指定转换后小数
点后的位数。
头文件:
bcd.h
bdos()
原形∶
intbdos(intfnum,unsigneddx,unsignedal)
其中
fnum
是系统调用号;
dx
是传给寄存器
DX
的值;
al
是传给寄存器
AL
的值;
功能∶
DOS
系统调用
(INT21H)
返回值∶
AX
中的值
biosdisk()
调用
BIOS
磁盘驱动程序函数
原形
:charbiosdisk(intcmd,intdrive,inthead,inttrack,intctor,intncts,void
*buffer)
功能:使用中断
0x13
,直接调用
BIOS
进行磁盘操作
参数:
(1)cmd:
2-
数据以每扇区
512
字节的格式读入
buffer
,起始扇区由
head
、
track
和
ctor
定,
扇区数由
ncts
定。
3-
将
buffer
中的数据按每扇区
512
字节写入磁盘。
4-
对扇区进行数据校验。
6-
格式化一个磁盘并对化扇区设置化标志。
8-
返回当前驱动器参数在
buffer
的前
4
个字节中。
10-
长读,每扇区读入
512
字节加上额外的
4
个字节。
11-
长写,每扇区写入
512
字节加上额外的
4
个字节。
(2)drive:0-
第一个软驱;
1-
第二个软驱;
0x80-
第一个硬驱
(3)head:
磁头
(4)track:
磁道
(5)ctor:
扇区
(6)ncts:
扇区数
(7)buffer:
数据缓冲区,定义为
unsignedcharbuffer[];
返回值:
0x00-
操作成功
0x01-
错误命令
0x03-
企图写具有写保护的磁盘
0x07-
驱动器参数设置错误
0x10-
磁盘读
/CRC/ECC
错误
头文件:
bios.h
注:对于硬盘主引导记录扇区
head=0,track=0,ctor=1
biosprint()
调用
BIOS
打印机
I/O
接口的函数
原形:
intbiosprint(intcmd,intabyte,intport)
功能:通过
BIOS
中断
0x17
在由参数
port
指定的打印机上完成各种打印机功能。
port=0(LPT1)
3
=1(LPT2);
cmd=0(
打印字符
abyte)
1(
初始化打印机端口
)
2(
读打印机状态
);
abyte=0-255;
返回值:打印机状态
位
0(
设备超时
)
;位
3(I/O
出错
);
位
4(
打印机已选择
)
;位
5(
没纸
);
位
6(
打印机确认
);
位
7(
不忙
)
头文件:
bios.h
calloc()
分配内存函数
原形:
void*calloc(size_tnitems,size_tsize)
功能:在堆中分配一块内存,将该内存的内容全部清
0
。
返回值:返回指向新分配内存的指针。空间不够则返回
NULL
。
头文件:
stdlib.h
、
calloc.h
ceil()
原形∶
doubleceil(doublenum)
功能∶求不小于
num
的最小双精度整数
头文件∶
math.h
cgets()
读字符串函数
原形:
char*cgets(char*str)
功能:从控制台读入一个字符串,并将该字符串(和字符串长度)存入有
str
所
指向的地址中。
注意:在调用
cgets
之前,必须将要读入的字符串最大长度存入
str[0]
中,返回时
str[1]
被设置为实际读入的字符数。实际字符串内容从
str[2]
开始,以空字符
(0)
结尾。
返回值:指向
str[2]
的指针。
头文件:
conio.h
chdir()
改变当前目录的函数
原形:
intchdir(constchar*path)
功能:把由
path
指定的目录改为当前目录。
path
参数中可以指定驱动器号,如
"a:ddd",
但只是改变该驱动器上的当前目录,对当前活动驱动器上的当前目录
无影响。
返回值:
0(
成功
)
;
-1(
失败
)
头文件:
dir.h
_chmod()
改变文件存取权限的函数
原形:
int_chmod(constchar*path,intfunc[,intattrib])
功能:读取
(func=0
时
)
或设置
(func=1
时
)DOS
文件属性。
attrib=FA_RDONLY
只读
attrib=FA_HIDDEN
隐藏文件
4
attrib=FA_SYSTEM
系统文件
attrib=FA_LABLE
卷标
attrib=FA_DIREC
目录
attrib=FA_ARCH
档案
返回值:失败时返回
-1
。成功时返回文件的属性字节
,
如果返回值
&FA_RDONLY
不等于
0,
则文件是只读文件;
......
头文件:
io.h
、
dos.h
chmod()
改变文件存取权限的函数
原形:
intchmod(constchar*path,intamode)
功能:根据
amode
的值,设置由
path
所指文件的存取权限。
amode
的值存取权限
S_IWRITE
允许写
S_IREAD
允许读
(
只读
)
S_IREAD|S_IWRITE
可读可写
返回值:
0(
成功
)
;
-1(
失败
)
头文件:
io.h
、
sysstat.h
clock()
原形∶
longclock(void)
功能∶测得从程序开始到调用处处理机所用的时间
头文件∶
time.h
clo()
关闭文件函数
原形
:intclo(inthandle)
功能:关闭由文件句柄所指向的文件,句柄是调用
_creat
、
creat
、
creatnew
、
creattemp
、
dup
、
dup2
、
_open
或
open
时得到的。该函数并不在文件末尾写一个
Ctrl-Z
字符,如果想用该字符结束文件,必须显式地给出该字符。
返回值:
0(
成功
)
;
-1(
失败
)
头文件:
io.h
clograph()
关闭图形函数
原形:
voidfarclograph(void)
功能:释放图形系统分配的所有内存,将屏幕恢复到调用
initgraph
之前的模式。
头文件:
graphics.h
cos()
原形∶
doublecos(doublearg)
功能∶计算
arg(
弧度
)
的余弦值
头文件∶
math.h
ctrlbrk()
设置
ctrl-break
处理程序的函数
原形:
voidctrlbrk(int(*handle)(void))
功能:修改中断向量
0x23,
使用新的
ctrl-break
中断处理函数。
5
用法:
ctrlbrk(
函数名
)
;
先定义函数
:int
函数名
(void){...}
头文件:
dos.h
delay()
暂停函数
原形:
voiddelay(unsignedmilliconds)
功能:暂停当前所执行的程序
milliconds
毫秒。
头文件:
dos.h
disable()
屏蔽中断的宏
原形:
voiddisble(void)
功能:屏蔽中断,只允许从外部设备来的不可屏蔽中断
(NMI)
。
头文件:
dos.h
enable()
开硬件中断的宏
原形:
voidenable(void)
功能:开放中断,允许接受任何设备产生的中断。
头文件:
dos.h
exec()
加载并运行其它程序的函数族
execl(),execle(),execlp(),execlpe(),
execv(),execve(),execvp(),execvpe()
原形∶
intexecl(char*path,char*arg0,*arg1,...,*argn,NULL)
intexecle(char*path,char*arg0,*arg1,...,*argn,NULL,char**env)
intexeclp(char*path,char*arg0,*arg1,...,*argn,NULL)
intexeclpe(char*path,char*arg0,*arg1,...,*argn,NULL,char**env)
intexecv(char*path,char*argv[])
intexecve(char*path,char*argv[],char**env)
intexecvp(char*path,char*argv[])
intexecvpe(char*path,char*argv[],char**env)
其中,
path
是调用的子程序的文件名,在
exec
后面的后缀具有某种功能:
p
表示函数能够在由
DOS
环境变量
PATH
的目录中搜索子进程文件,如果
path
中未指明文件所在目录,函数将首先在当前目录中找,然后在
DOS
环境变量指
定的目录中找。
l
表示参数指针
(arg0,...,argn)
按单独参数传送。当预先知道要传送的参数个数时,
通常用带后缀
l
的函数。
v
表示参数指针
(arg0,...,argn)
按指针数组传送。当要传送的参数可变时,使用带
后缀
v
的函数。
e
表示参数
env
可以传送到子进程,该函数可用来修改子进程的环境。若无
e
后
缀,子进程将继承父进程的环境。
注意:
arg0+...+argn,
或
arg[0]+...+arg[n]
的总长度必需小于
128
字节。当调用
exec
函数时,原先已经打开的文件在子进程中仍然是打开的。
功能:加载并运行其它程序,调用时必须有足够的内存空间用于加载和执行子程
序,子程序将覆盖父程序。
6
头文件:
process.h
farcalloc()
从远堆中分配内存的函数
原形:
voidfar*farcalloc(unsignedlongnunits,unsignedlongunitsz)
功能:从远堆中为包含
nunits
个元素的数组分配内存,每一区
unitsz
字节长。
用法:
fptr=farcalloc(
数目,
sizeof(char));
先定义:
charfar*fptr;
注意:所有可用
RAM
能被分配;大于
64K
的块能被分配;用远指针存取该块。
微模式不能用。
返回值:返回指向新分配块的指针,若内存不够,则返回
NULL
。
头文件:
alloc.h
farfree()
从远堆中释放一块已分配内存的函数
原形:
voidfarfree(voidfar*block)
头文件:
alloc.h
farmalloc()
从远堆中分配内存的函数
原形:
voidfar*farmalloc(unsignedlongnbytes)
使用方式:
fptr=farmalloc(
字节数
);
先定义
charfar*fptr;
功能:从远堆中分配长
nbytes
字节的内存。
注意:所有可用
RAM
能被分配;大于
64K
的块能被分配;用远指针存取该块。
微模式不能用。
返回值:返回指向新分配内存的指针,若内存不够,则返回
NULL
。
头文件:
alloc.h
farrealloc()
调整远堆中已分配块的函数
原形:
voidfar*farrealloc(voidfar*oldblock,unsignedlongnbytes)
返回值:返回调整后的新内存地址。若不能重新分配,则返回
NULL
。
头文件:
alloc.h
fclo()
关闭一个流函数
原形:
intfclo(FILE*stream)
使用方式:
fclo(
文件指针名
)
;其中文件指针名
=fopen();
功能:关闭指定的流,关闭前清除所有与
stream
相联的缓冲区,释放系统分配
的缓冲区,但由
tbuf
设置的缓冲区不能自动释放。
返回值:
0(
成功
)
;
EOF(
失败
)
头文件:
stdio.h
fcloall()
关闭打开的流的函数
原形:
intfcloall(void)
功能:关闭所有打开的流,由
stdin
、
stdout
、
stdprn
、
stderr
和
stdaux
设置的流除
外。
返回值:关闭流的总数。如果发现错误则返回
EOF
。
7
头文件:
stdio.h
feof()
检查文件是否结束的函数
原形∶
intfeof(FILE*fp)
返回值∶文件结束返回非
0
值,否则返回
0
。
头文件∶
stdio.h
fgets()
从流中读取一字符串的函数
原形:
char*fgets(chars[],intn,FILE*stream)
使用格式:
fgets(
字符串指针,字符个数,文件指针
)
功能:从输入流
stream
中读入字符存到
s
串中。当读了
n-1
个字符或遇到换行符
时,函数停止读过程。
fgets
在
s
串尾保留换行字符。读入的最后一个字符后面加
一个空字符。
返回值:成功时返回字符串参数
s,
出错或遇到文件结束时,返回
NULL
。
头文件:
stdio.h
findfirst()
函数和
findnext()
函数
调用方式:整形数
=findfirst(
文件名
,&
结构变量名
,
属性常数组合
(
如
0x26));
其中定
义
structffblk
结构变量名
;
原形:
intfindfirst(path,buffer,attr)
和
intfindnext(buffer)
char*path;//
要检索的文件名
structffblk
{
charff_rerved[21];
charff_attrib;//
被检索的文件属性
unsignedff_ftime;//
最后修改的时间
//(0-4
位
:
秒数
/2
;
5-10
位
:
分数;
11-15
位
:
小时数
)
unsignedff_fdate;//
最后修改的日期
//(0-4
位:日;
5-8
位:月;
9-15
位:年减
1980)
longff_fsize;//
文件大小
charff_name[13];//
组名
}*buffer;
intattr;//
要检索的文件属性
功能:检索由
path
和
attr
指定的文件,把结果返回到
buffer
。
findfirst
返回关于
第一个指定文件的信息,
findnext
继续检索。
返回值:
0(
检索成功
),-1(
没有找到指定的文件
)
属性常数:
FA_NORMAL(0x00)
含意:
Normalfile,noattributes
FA_RDONLY(0x01)
含意:只读
FA_HIDDEN(0x02)
含意:隐含文件
FA_SYSTEM(0x04)
含意:系统文件
FA_LABEL(0x08)
含意:卷标
FA_DIREC(0x10)
含意:子目录
FA_ARCH(0x20)
含意:修改的文件
Archive
8
头文件:
dir.h(dos.h)
floodfill()
填充区域的函数
原形:
voidfarfloodfill(intx,inty,intborder)
功能:在图形设备上用颜色
border
围起来的区域将用当前填充颜色填充。
(x,y)
是待填充区域的起点,若起点在封闭区域内,则区域内被填充;若起点在封闭区
域外,则区域外被填充。
头文件:
graphics.h
floor()
原形∶
doublefloor(doublenum)
功能∶求不大于
num
的最大双精度整数
头文件∶
math.h
fnmerge()
建立文件路径函数
原形:
voidfnmerge(char*path,constchar*drive,constchar*dir,constchar
*name,constchar*ext)
功能:合成
drive:
,放在
path
头文件:
dir.h
fnsplit()
分解完整的路径名函数
原形
:intfnsplit(char*path,constchar*drive,constchar*dir,constchar*name,const
char*ext)
功能:把文件名路径
path
分成
4
个部分存放。
其中
drive
中有冒号;
dir
中有开始和结尾的反斜杠;
ext
包括开始圆点
返回值:如果有扩展名,则返回值
&EXTENSION!=0
如果有文件名,则返回值
&FILENAME!=0
如果有目录名,则返回值
&DIRECTORY!=0
如果有驱动器号,则返回值
&DIRVE!=0
头文件:
dir.h
fopen()
打开一个流函数
原形:
FILE*fopen(constchar*filename,constchar*mode)
功能:打开用
filename
指定的文件,并使其与一个流相联。
使用方式:文件指针名=
fopen
(
"
文件名
","
处理方式
"
)
”处理方式”取:
"rt"
打开一个文本文件,只能读。
"wt"
生成一个文本文件,只能写。若文件存在则被重写。
"at"
打开一个文本文件,只能在文件尾部添加。
"rb"
打开一个二进制文件,只能读。
"wb"
生成一个二进制文件,只能写。
"ab"
打开一个二进制文件,只能在文件尾部添加。
"rt+"
打开一个文本文件,可读可写。
"wt+"
生成一个文本文件,可读可写。
9
"at+"
打开一个文本文件,可读可添加。
"rb+"
打开一个二进制文件,可读可写。
"wb+"
生成一个二进制文件,可读可写。
"ab+"
打开一个二进制文件,可读可添加。
返回值:指明流的指针
(
成功时
)
或
NULL(
失败时
)
注:需先定义
FILE*
文件指针名;
"
文件名
"
若用
argv[1]
代替,则可使用命令行形式指定文件名
FP_OFF()
获取远地址偏移量的宏
原形:
unsignedFP_OFF(voidfar*p)
功能:取得和设置远指针
*p
的偏移量
返回值:偏移量
头文件:
dos.h
fprintf()
传送输出到一个流中的函数
原形:
intfprintf(FILE*stream,constchar*format[,argument,...])
功能:①向文件指针指向的文件输出
ASC
Ⅱ代码
②向显示器输出错误信息
使用形式:
①
fprintf(
文件指针,
"
输出格式
"
,输出项系列
);
②
fprintf(stderr,"
错误信息
")
;
使用实例:
fprintf(stream,"%d%c%f",i,c,f);
其中定义
FILE*stream;
inti;charc;floatf;
返回值:成功则返回输出的字节数,错误则返回
EOF
。
头文件:
stdio.h
FP_SEG()
获取远地址段值的宏
原形:
unsignedFP_SEG(voidfar*p)
功能:取得和设置远指针
*p
段地址值
返回值:段地址值
头文件:
dos.h
free()
释放已分配内存的函数
原形:
voidfree(void*block)
功能:释放由
calloc
、
malloc
、
realloc
函数调用所分配的内存。
头文件:
stdlib.h
、
alloc.h
fscanf()
格式化输入函数
原形:
intfscanf(FILE*stream,constchar*format[,address,...])
功能:从一个流中扫描输入字段,一次扫描一个字符,每个输入字段根据
format
所指格式指示符格式化后,把输入字段存在
format
后面由地址参数给出的位置
上。
使用格式:
fscanf(
文件指针
,"
输入格式
",
输入项系列
);
10
使用实例:
fscanf(fp,"%d",&b);
从
fp
指向的文件中读取十进制整数
(ASC
Ⅱ形式
)
赋予变量
b
注:当文件指针是
stdin
时,与
scanf
功能完全相同
头文件:
stdio.h
fek()
移动文件指针函数
原形:
intfek(FILE*stream,longofft,intwhence)
作用:强制一个文件的位置指针指向某个特定的位置(甚至超出文件的尾部)。
使用格式:
fek
(
*
文件指针,偏移(长整型),起点)
定义
FILE*
文件指针名;
"
起点
"
取值:
0
或
SEEK_SET(
表示文件开头
)
1
或
SEEK_CUR(
表示当前位置
)
2
或
SEEK_END(
表示文件尾端
)
返回值:
0
表示成功,非
0
值表示失败
头文件:
stdio.h
fwrite()
把参数写入流中的函数
原形:
size_tfwrite(constvoid*ptr,size_tsize,size_tn,FILE*stream)
功能:附加
n
个数据项
(
每个数据项长度为
size
个字节
)
到指定的输出文件后,数
据从
ptr
处开始添加。
ptr
是指向任意对象的指针。
返回值:调用成功时返回实际写的数据项数,出错时返回一短整形数值。
头文件:
stdio.h
例:
fwrite(&s,sizeof(s),1,stream);
其中
s
是一结构变量,
stream=fopen();
gcvt()
把双精度数转化成字符串的函数
原形∶
char*gcvt(value,ndigit,buf)
其中∶
doublevalue
是待转化数
intndigit
是转化长度
char*buf
保存转化后的地址
头文件∶
stdlib.h
geninterrupt()
执行中断函数
原形:
voidgeninterrupt(intn)
调用方式:
geninterrupt(
软中断号
)
功能:产生一个
8086
软中断
注:需先向寄存器传递入口信息(用伪变量)
例如伪变量
=
要赋的值
(
入口信息
);
调用
geninterrupt()
函数后得接受出口信息
例如变量名
=
伪变量
伪变量∶
TurboC
允许使用伪变量直接访问相应的
8086
寄存器。伪变量的类型
有两种。
①
unsignedint:_AX
、
_BX
、
_CX
、
_DX
、
_CS
、
_DS
、
_SS
、
_ES
、
_SP
、
11
_BP
、
_DI
、
_SI
②
unsignedchar:_AL
、
_AH
、
_BL
、
_BH
、
_CL
、
_CH
、
_DL
、
_DH
getc()
从流中取字符的宏
原形:
intgetc(FILE*stream)
功能:返回输入流
stream
中一个字符,移动文件指针使之指向下一个字符。
使用格式:字符变量=
getc(
文件指针
)
(
正常情况下读取到代码值,读到文件尾或出错时返回
EOF
)
注:需定义
char
字符变量;
FILE*
文件指针;
头文件:
stdio.h
getch()
从键盘无回显地读取一字符的函数
功能:将键盘上输入的单个字符的值(
ASC
Ⅱ码)立刻赋给字符型变量
调用方式:字符形变量=
getch()
注:需先定义
char
字符形变量;
头文件:
conio.h
getchar()
从
stdin
流中读取一个字符的函数
功能:将键盘上输入的单个字符的值(
ASC
Ⅱ码)回车后赋给字符型变量
调用方式:字符型变量=
getchar()
注:需先定义
char
字符型变量;
头文件:
stdio.h
getcurdir()
读取指定驱动器的当前目录的函数
原形:
intgetcurdir(intdrive,chardirectory)
drive=0(
缺省
);1(A
驱动器
)
;
...
directory
用来存放目录名,不包括驱动器名,不以反斜杠开始。
返回值:
0(
调用成功
);1(
出错
)
头文件:
dir.h
getcwd()
读取当前目录的函数
原形:
char*getcwd(char*buf,intbuflen)
功能:读取当前目录的完整路径名
(
包括驱动器名
)
,最长为
buflen
个字节,存放
在
buf
中。如果
buf
为
NULL
,函数将分配一个
buflen
字节长的缓冲区,以后可
将本函数的返回值作为
free
函数的参数来释放该缓冲区。
返回值:若
buf
非空,调用成功返回
buf,
出错返回
NULL;
若
buf
为
NULL,
返回指
向已经分配的内存缓冲区地址。
头文件:
dir.h
getdate()
读取系统日期函数
原形
:voidgetdate(pdate)
structdate
{
intda_year;
12
intda_day;
intda_mon;
};
structdate*pdate;
头文件:
dos.h
getdfree()
读取磁盘空闲空间的函数
原形:
voidgetdfree(drive,dtable)
unsignedchardrive;
驱动器号
(0-
当前;
1-A;2-B;...)
structdfree
{
unsigneddf_avail;//
可使用的簇数
unsigneddf_total;//
每个驱动器的簇数
unsigneddf_bc;//
每个扇区的字节数
unsigneddf_sclus;//
每个簇的扇区数
(
出错时返回
0xffff)
}*dtable;
功能:把由
drive
指定的关于驱动器的信息返回到
dtable
getdisk()
读取当前磁盘驱动器号函数
原形:
intgetdisk(void)
功能:取得当前驱动器号(
0=A;1=B;....
)
头文件:
dir.h
getenv()
读取环境变量的当前值的函数
原形:
char*getenv(constchar*name)
用法:
s=getenv("
环境变量名
");
需先定义
char*s;
功能:返回一给定的环境变量值,环境变量名可大写或小写。如果指定的变量在
环境中未定义,则返回一空串。
头文件:
stdlib.h
getimage()
将指定区域的位图象存入内存的函数
原形:
voidfargetimage(intleft,inttop,intright,intbottom,voidfar*bitmap)
功能:将图像
(
矩形区域
)
从屏幕拷贝到内存,
*bitmap
指向内存中存放图像的区
域。该区域的前两个字节用于存放矩形的高和宽。
头文件:
graphics.h
getmaxx()
返回屏幕上最大的
X
坐标值的函数
原形:
intfargetmaxx(void)
功能:返回当前图形驱动程序和图形模式下最大的
X
坐标值。
头文件:
graphics.h
getmaxy()
返回屏幕上最大的
Y
坐标值的函数
原形:
intfargetmaxy(void)
13
功能:返回当前图形驱动程序和图形模式下最大的
Y
坐标值。
头文件:
graphics.h
getpixel()
读取像素颜色的函数
原形:
unsignedfargetpixel(intx,inty)
头文件:
graphics.h
getpsp()
原形∶
unsignedgetpsp(void)
功能∶使用
DOS
系统调用
0x62
,返回程序段前缀(
PSP
)的段地址
头文件∶
dos.h
gets()
从标准输入流
stdio
中读取一字符串的函数
功能:将键盘上输入的字符串立刻赋予字符串变量并显示出来
调用方式:
gets
(字符串变量名)
注:需定义
char*
字符串变量名;
gettime()
读取系统时间的函数
原形:
voidgettime(ptime)
structtime
{
unsignedcharti_min;
unsignedcharti_hour;
unsignedcharti_hund;//
百分之一秒
unsignedcharti_c;
};
structtime*ptime;
getvect()
读取中断向量函数
原形:
voidinterrupt(*getvect(intinterruptno))
功能:读入由
interruptno(0-255
之间
)
所指定的中断向量值,并把该中断向量值作
为中断函数的远指针返回。
返回值:指定中断向量的当前
4
字节值。
头文件:
dos.h
使用实例:
oldfunc=getvect(5);
先定义
voidinterrupt(*oldfunc)();
用后恢复
tvect(5,oldfunc);
getx()
返回当前图形方式下位置的
X
坐标值的函数
原形:
intfargetx(void);
头文件:
graphics.h
gety()
返回当前图形方式下位置的
Y
坐标值的函数
原形:
intfargety(void);
14
头文件:
graphics.h
imagesize()
返回保存图像缓冲区大小的函数
原形:
unsignedfarimagesize(intleft,inttop,intright,intbottom)
功能:确定保存图像所需的存储区大小。
返回值:返回存储区的大小
(
字节
)
,若所需内存大于等于
64K-1
字节,则返回
0xffff(-1)
。
头文件:
graphics.h
initgraph()
显示模式控制函数
(
初始化图形系统函数
)
功能:把图形适配器设置为一种图形模式,将选择的图形驱动程序(在
BGI
文
件中)装入到内存。
调用方式:
voidfarinitgraph(intfar*driver,intfar*mode,charfar*path)
其中
:*driver
可以是数值(
0-10
),也可是符号值(
DETECT
、
CGA
、
MCGA
、
EGA
、
EGA64
、
EGAMONO
、
RESERVED
、
HERCMONO
、
ATT400
、
VGA
、
PC3270
)。
*mode
参数从图形系统为各种常用的图形适配器设置的图形模式中(
CGAC0
、
...
、
IBM8514HI--
见头文件
graphics.h
)选取。常用的有
:VGAMED
或
1
(
640
×
350
)
(等效于
BIOS
的模式
15
)、
EGAHI
或
1
(
640
×
350
)等。
path
指向的字符串为装入驱动程序的路径。如果缺省路径,驱动程序在当前目录。
结束方法:
①
voidfarclograph()
函数用于当程序还要继续在字符模下运行时。它释放由图
形函数所占用的内存,同时把屏幕模式恢复为调用
initgraph()
之前的模式。
②
voidfarrestorecrtmode()
函数用于结束运行。将图形适配器设置到原来的模式。
任何分配的内存都将自动释放。
头文件:
graphics.h
inport()
从端口中读入一个字的函数
原形:
intinport(intportid)
调用方式:整型变量
=inport(0x
端口号
);
功能:从指定端口地址读
?/cn>
本文发布于:2023-03-05 22:16:37,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1678025797125887.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:c语言函数.doc
本文 PDF 下载地址:c语言函数.pdf
留言与评论(共有 0 条评论) |