
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,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/1678025797125887.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:c語言函數.doc
本文 PDF 下載地址:c語言函數.pdf
| 留言與評論(共有 0 條評論) |