找回密码

碧海潮声大学生网

楼主: 墙角野猫
打印 上一主题 下一主题

c语言函数大全

[复制链接]
141#
 楼主| 发表于 2006-7-12 23:53 | 只看该作者
函数名: int86
功 能: 通用8086软中断接口
用 法: int int86(int intr_num, union REGS *inregs, union REGS *outregs);
程序例:
#include
#include
#include
#define VIDEO 0x10
void movetoxy(int x, int y)
{
union REGS regs;
regs.h.ah = 2; /* set cursor postion */
regs.h.dh = y;
regs.h.dl = x;
regs.h.bh = 0; /* video page 0 */
int86(VIDEO, ?s, ?s);
}
int main(void)
{
clrscr();
movetoxy(35, 10);
printf("Hello
");
return 0;
}
142#
 楼主| 发表于 2006-7-12 23:54 | 只看该作者
函数名: int86x
功 能: 通用8086软中断接口
用 法: int int86x(int intr_num, union REGS *insegs, union REGS *outregs,
struct SREGS *segregs);
程序例:
#include
#include
#include
int main(void)
{
char filename[80];
union REGS inregs, outregs;
struct SREGS segregs;
printf("Enter filename: ");
gets(filename);
inregs.h.ah = 0x43;
inregs.h.al = 0x21;
inregs.x.dx = FP_OFF(filename);
segregs.ds = FP_SEG(filename);
int86x(0x21, &inregs, &outregs, &segregs);
printf("File attribute: %X
", outregs.x.cx);
return 0;
}
143#
 楼主| 发表于 2006-7-12 23:54 | 只看该作者
函数名: intdos
功 能: 通用DOS接口
用 法: int intdos(union REGS *inregs, union REGS *outregs);
程序例:
#include
#include
/* deletes file name; returns 0 on success, nonzero on failure */
int delete_file(char near *filename)
{
union REGS regs;
int ret;
regs.h.ah = 0x41; /* delete file */
regs.x.dx = (unsigned) filename;
ret = intdos(?s, ?s);
/* if carry flag is set, there was an error */
return(regs.x.cflag ? ret : 0);
}
int main(void)
{
int err;
err = delete_file("NOTEXIST.$$$");
if (!err)
printf("Able to delete NOTEXIST.$$$
");
else
printf("Not Able to delete NOTEXIST.$$$
");
return 0;
}
144#
 楼主| 发表于 2006-7-12 23:55 | 只看该作者
还有好多啊......累死了~~~~~~~~
145#
 楼主| 发表于 2006-7-13 00:03 | 只看该作者
继续来啊~
146#
 楼主| 发表于 2006-7-13 00:04 | 只看该作者
函数名: intdosx
功 能: 通用DOS中断接口
用 法: int intdosx(union REGS *inregs, union REGS *outregs,
struct SREGS *segregs);
程序例:
#include
#include
/* deletes file name; returns 0 on success, nonzero on failure */
int delete_file(char far *filename)
{
union REGS regs; struct SREGS sregs;
int ret;
regs.h.ah = 0x41; /* delete file */
regs.x.dx = FP_OFF(filename);
sregs.ds = FP_SEG(filename);
ret = intdosx(?s, ?s, &sregs);
/* if carry flag is set, there was an error */
return(regs.x.cflag ? ret : 0);
}
int main(void)
{
int err;
err = delete_file("NOTEXIST.$$$");
if (!err)
printf("Able to delete NOTEXIST.$$$
");
else
printf("Not Able to delete NOTEXIST.$$$
");
return 0;
}
147#
 楼主| 发表于 2006-7-13 00:04 | 只看该作者
函数名: intr
功 能: 改变软中断接口
用 法: void intr(int intr_num, struct REGPACK *preg);
程序例:
#include
#include
#include
#include
#define CF 1 /* Carry flag */
int main(void)
{
char directory[80];
struct REGPACK reg;
printf("Enter directory to change to: ");
gets(directory);
reg.r_ax = 0x3B << 8; /* shift 3Bh into AH */
reg.r_dx = FP_OFF(directory);
reg.r_ds = FP_SEG(directory);
intr(0x21, ?);
if (reg.r_flags & CF)
printf("Directory change failed
");
getcwd(directory, 80);
printf("The current directory is: %s
", directory);
return 0;
}
148#
 楼主| 发表于 2006-7-13 00:04 | 只看该作者
函数名: ioctl
功 能: 控制I/O设备
用 法: int ioctl(int handle, int cmd[,int *argdx, int argcx]);
程序例:
#include
#include
#include
int main(void)
{
int stat;
/* use func 8 to determine if the default drive is removable */
stat = ioctl(0, 8, 0, 0);
if (!stat)
printf("Drive %c is removable.
", getdisk() + &#39;A&#39;);
else
printf("Drive %c is not removable.
", getdisk() + &#39;A&#39;);
return 0;
}
149#
 楼主| 发表于 2006-7-13 00:05 | 只看该作者
函数名: isatty
功 能: 检查设备类型
用 法: int isatty(int handle);
程序例:
#include
#include
int main(void)
{
int handle;
handle = fileno(stdprn);
if (isatty(handle))
printf("Handle %d is a device type
", handle);
else
printf("Handle %d isn&#39;t a device type
", handle);
return 0;
}
150#
 楼主| 发表于 2006-7-13 00:05 | 只看该作者
函数名: itoa
功 能: 把一整数转换为字符串
用 法: char *itoa(int value, char *string, int radix);
程序例:
#include
#include
int main(void)
{
int number = 12345;
char string[25];
itoa(number, string, 10);
printf("integer = %d string = %s
", number, string);
return 0;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋| 碧海潮声大学生网  

Copyright © 2001-2013 Comsenz Inc.   All Rights Reserved.

Powered by Discuz! X3.2( 浙ICP备11026473号 )

快速回复 返回顶部 返回列表