C语言库函数大全及应用实例七
函数名: getw
功 能: 从流中取一整数
用 法: int getw(FILE *strem);
程序例:
#i nclude 
#i nclude
#define FNAME "test.$$$"
int main(void) 
{ 
FILE *fp; 
int word;
/* place the word in a file */ 
fp = fopen(FNAME, "wb"); 
if (fp == NULL) 
{ 
printf("Error opening file %s\n", FNAME); 
exit(1); 
}
word = 94; 
putw(word,fp); 
if (ferror(fp)) 
printf("Error writing to file\n"); 
else 
printf("Successful write\n"); 
fclose(fp);
/* reopen the file */ 
fp = fopen(FNAME, "rb"); 
if (fp == NULL) 
{ 
printf("Error opening file %s\n", FNAME); 
exit(1); 
}
/* extract the word */ 
word = getw(fp); 
if (ferror(fp)) 
printf("Error reading file\n"); 
else 
printf("Successful read: word = %d\n", word);
/* clean up */ 
fclose(fp); 
unlink(FNAME);
return 0; 
}
函数名: getx 
功 能: 返回当前图形位置的x坐标 
用 法: int far getx(void); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
char msg[80];
/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, "");
/* read result of initialization */ 
errorcode = graphresult(); 
if (errorcode != grOk) /* an error occurred */ 
{ 
printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); /* terminate with an error code */ 
}
/* move to the screen center point */ 
moveto(getmaxx() / 2, getmaxy() / 2);
/* create a message string */ 
sprintf(msg, "<-(%d, %d) is the here.", getx(), gety());
/* display the message */ 
outtext(msg);
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
}
函数名: gety 
功 能: 返回当前图形位置的y坐标 
用 法: int far gety(void); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
char msg[80];
/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, "");
/* read result of initialization */ 
errorcode = graphresult(); 
if (errorcode != grOk) /* an error occurred */ 
{ 
printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); /* terminate with an error code */ 
}
/* move to the screen center point */ 
moveto(getmaxx() / 2, getmaxy() / 2);
/* create a message string */ 
sprintf(msg, "<-(%d, %d) is the here.", getx(), gety());
/* display the message */ 
outtext(msg);
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
}
函数名: gmtime 
功 能: 把日期和时间转换为格林尼治标准时间(GMT) 
用 法: struct tm *gmtime(long *clock); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude
/* Pacific Standard Time & Daylight Savings */ 
char *tzstr = "TZ=PST8PDT";
int main(void) 
{ 
time_t t; 
struct tm *gmt, *area;
putenv(tzstr); 
tzset();
t = time(NULL); 
area = localtime(&t); 
printf("Local time is: %s", asctime(area)); 
gmt = gmtime(&t); 
printf("GMT is: %s", asctime(gmt)); 
return 0; 
}
函数名: gotoxy 
功 能: 在文本窗口中设置光标 
用 法: void gotoxy(int x, int y); 
程序例:
#i nclude
int main(void) 
{ 
clrscr(); 
gotoxy(35, 12); 
cprintf("Hello world"); 
getch(); 
return 0; 
}
函数名: gotoxy 
功 能: 在文本窗口中设置光标 
用 法: void gotoxy(int x, int y); 
程序例:
#i nclude
int main(void) 
{ 
clrscr(); 
gotoxy(35, 12); 
cprintf("Hello world"); 
getch(); 
return 0; 
}
函数名: graphdefaults 
功 能: 将所有图形设置复位为它们的缺省值 
用 法: void far graphdefaults(void); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int maxx, maxy;
/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, "c:\\bor\\Borland\\bgi");
/* read result of initialization */ 
errorcode = graphresult(); 
if (errorcode != grOk) /* an error occurred */ 
{ 
printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); /* terminate with an error code */ 
}
maxx = getmaxx(); 
maxy = getmaxy();
/* output line with non-default settings */ 
setlinestyle(DOTTED_LINE, 0, 3); 
line(0, 0, maxx, maxy); 
outtextxy(maxx/2, maxy/3, "Before default values are restored."); 
getch();
/* restore default values for everything */ 
graphdefaults();
/* clear the screen */ 
cleardevice();
/* output line with default settings */ 
line(0, 0, maxx, maxy); 
outtextxy(maxx/2, maxy/3, "After restoring default values.");
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
}
函数名: grapherrormsg 
功 能: 返回一个错误信息串的指针 
用 法: char *far grapherrormsg(int errorcode); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude
#define NONSENSE -50
int main(void) 
{ 
/* FORCE AN ERROR TO OCCUR */ 
int gdriver = NONSENSE, gmode, errorcode;
/* initialize graphics mode */ 
initgraph(&gdriver, &gmode, "");
/* read result of initialization */ 
errorcode = graphresult();
/* if an error occurred, then output a */ 
/* descriptive error message. */ 
if (errorcode != grOk) 
{ 
printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); /* terminate with an error code */ 
}
/* draw a line */ 
line(0, 0, getmaxx(), getmaxy());
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
}
函数名: graphresult 
功 能: 返回最后一次不成功的图形操作的错误代码 
用 法: int far graphresult(void); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode;
/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, "");
/* read result of initialization */ 
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */ 
{ 
printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); /* terminate with an error code */ 
}
/* draw a line */ 
line(0, 0, getmaxx(), getmaxy());
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
}
函数名: _graphfreemem 
功 能: 用户可修改的图形存储区释放函数 
用 法: void far _graphfreemem(void far *ptr, unsigned size); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude 
#i nclude
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int midx, midy;
/* clear the text screen */ 
clrscr(); 
printf("Press any key to initialize graphics mode:"); 
getch(); 
clrscr();
/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, "");
/* read result of initialization */ 
errorcode = graphresult(); 
if (errorcode != grOk) /* an error occurred */ 
{ 
printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); /* terminate with an error code */ 
}
midx = getmaxx() / 2; 
midy = getmaxy() / 2;
/* display a message */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(midx, midy, "Press any key to exit graphics mode:");
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
}
/* called by the graphics kernel to allocate memory */ 
void far * far _graphgetmem(unsigned size) 
{ 
printf("_graphgetmem called to allocate %d bytes.\n", size); 
printf("hit any key:"); 
getch(); 
printf("\n");
/* allocate memory from far heap */ 
return farmalloc(size); 
}
/* called by the graphics kernel to free memory */ 
void far _graphfreemem(void far *ptr, unsigned size) 
{ 
printf("_graphfreemem called to free %d bytes.\n", size); 
printf("hit any key:"); 
getch(); 
printf("\n");
/* free ptr from far heap */ 
farfree(ptr); 
}
函数名: _graphgetmem 
功 能: 用户可修改的图形存储区分配函数 
用 法: void far *far _graphgetmem(unsigned size); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude 
#i nclude
int main(void) 
{ 
/* request autodetection */ 
int gdriver = DETECT, gmode, errorcode; 
int midx, midy;
/* clear the text screen */ 
clrscr(); 
printf("Press any key to initialize graphics mode:"); 
getch(); 
clrscr();
/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, "");
/* read result of initialization */ 
errorcode = graphresult(); 
if (errorcode != grOk) /* an error occurred */ 
{ 
printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); /* terminate with an error code */ 
}
midx = getmaxx() / 2; 
midy = getmaxy() / 2;
/* display a message */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(midx, midy, "Press any key to exit graphics mode:");
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
}
/* called by the graphics kernel to allocate memory */ 
void far * far _graphgetmem(unsigned size) 
{ 
printf("_graphgetmem called to allocate %d bytes.\n", size); 
printf("hit any key:"); 
getch(); 
printf("\n");
/* allocate memory from far heap */ 
return farmalloc(size); 
}
/* called by the graphics kernel to free memory */ 
void far _graphfreemem(void far *ptr, unsigned size) 
{ 
printf("_graphfreemem called to free %d bytes.\n", size); 
printf("hit any key:"); 
getch(); 
printf("\n");
/* free ptr from far heap */ 
farfree(ptr); 
}
函数名: harderr 
功 能: 建立一个硬件错误处理程序 
用 法: void harderr(int (*fptr)()); 
程序例: 
/*This program will trap disk errors and prompt 
the user for action. Try running it with no 
disk in drive A: to invoke its functions.*/
#i nclude 
#i nclude 
#i nclude 
#define IGNORE 0 
#define RETRY 1 
#define ABORT 2 
int buf[500]; 
/*define the error messages for trapping disk problems*/ 
static char *err_msg[] = { 
"write protect", 
"unknown unit", 
"drive not ready", 
"unknown command", 
"data error (CRC)", 
"bad request", 
"seek error", 
"unknown media type", 
"sector not found", 
"printer out of paper", 
"write fault", 
"read fault", 
"general failure", 
"reserved", 
"reserved", 
"invalid disk change" 
};
error_win(char *msg) 
{ 
int retval;
cputs(msg);
/*prompt for user to press a key to abort, retry, ignore*/ 
while(1) 
{ 
retval= getch(); 
if (retval == 'a' || retval == 'A') 
{ 
retval = ABORT; 
break; 
} 
if (retval == 'r' || retval == 'R') 
{ 
retval = RETRY; 
break; 
} 
if (retval == 'i' || retval == 'I') 
{ 
retval = IGNORE; 
break; 
} 
}
return(retval); 
}
/*pragma warn -par reduces warnings which occur 
due to the non use of the parameters errval, 
bp and si to the handler.*/ 
#pragma warn -par
int handler(int errval,int ax,int bp,int si) 
{ 
static char msg[80]; 
unsigned di; 
int drive; 
int errorno; 
di= _DI; 
/*if this is not a disk error then it was 
another device having trouble*/
if (ax < 0) 
{ 
/* report the error */ 
error_win("Device error"); 
/* and return to the program directly requesting abort */ 
hardretn(ABORT); 
} 
/* otherwise it was a disk error */ 
drive = ax & 0x00FF; 
errorno = di & 0x00FF; 
/* report which error it was */ 
sprintf(msg, "Error: %s on drive %c\r\nA)bort, R)etry, I)gnore: ", 
err_msg[errorno], 'A' + drive); 
/* 
return to the program via dos interrupt 0x23 with abort, retry, 
or ignore as input by the user. 
*/ 
hardresume(error_win(msg)); 
return ABORT; 
} 
#pragma warn +par
int main(void) 
{ 
/* 
install our handler on the hardware problem interrupt 
*/ 
harderr(handler); 
clrscr(); 
printf("Make sure there is no disk in drive A:\n"); 
printf("Press any key ....\n"); 
getch(); 
printf("Trying to access drive A:\n"); 
printf("fopen returned %p\n",fopen("A:temp.dat", "w")); 
return 0; 
}
函数名: hardresume 
功 能: 硬件错误处理函数 
用 法: void hardresume(int rescode); 
程序例:
/* This program will trap disk errors and prompt the user for action. */ 
/* Try running it with no disk in drive A: to invoke its functions */
#i nclude 
#i nclude 
#i nclude
#define IGNORE 0 
#define RETRY 1 
#define ABORT 2
int buf[500];
/* define the error messages for trapping disk problems */ 
static char *err_msg[] = { 
"write protect", 
"unknown unit", 
"drive not ready", 
"unknown command", 
"data error (CRC)", 
"bad request", 
"seek error", 
"unknown media type", 
"sector not found", 
"printer out of paper", 
"write fault", 
"read fault", 
"general failure", 
"reserved", 
"reserved", 
"invalid disk change" 
};
error_win(char *msg) 
{ 
int retval;
cputs(msg);
/* prompt for user to press a key to abort, retry, ignore */ 
while(1) 
{ 
retval= getch(); 
if (retval == 'a' || retval == 'A') 
{ 
retval = ABORT; 
break; 
} 
if (retval == 'r' || retval == 'R') 
{ 
retval = RETRY; 
break; 
} 
if (retval == 'i' || retval == 'I') 
{ 
retval = IGNORE; 
break; 
} 
}
return(retval); 
}
/* pragma warn -par reduces warnings which occur due to the non use */ 
/* of the parameters errval, bp and si to the handler. */ 
#pragma warn -par
int handler(int errval,int ax,int bp,int si) 
{ 
static char msg[80]; 
unsigned di; 
int drive; 
int errorno;
di= _DI; 
/* if this is not a disk error then it was another device having trouble */
if (ax < 0) 
{ 
/* report the error */ 
error_win("Device error"); 
/* and return to the program directly 
requesting abort */ 
hardretn(ABORT); 
} 
/* otherwise it was a disk error */ 
drive = ax & 0x00FF; 
errorno = di & 0x00FF; 
/* report which error it was */ 
sprintf(msg, "Error: %s on drive %c\r\nA)bort, R)etry, I)gnore: ", 
err_msg[errorno], 'A' + drive); 
/* return to the program via dos interrupt 0x23 with abort, retry */ 
/* or ignore as input by the user. */ 
hardresume(error_win(msg)); 
return ABORT; 
} 
#pragma warn +par
int main(void) 
{ 
/* install our handler on the hardware problem interrupt */ 
harderr(handler); 
clrscr(); 
printf("Make sure there is no disk in drive A:\n"); 
printf("Press any key ....\n"); 
getch(); 
printf("Trying to access drive A:\n"); 
printf("fopen returned %p\n",fopen("A:temp.dat", "w")); 
return 0; 
}
函数名: highvideo 
功 能: 选择高亮度文本字符 
用 法: void highvideo(void); 
程序例:
#i nclude
int main(void) 
{ 
clrscr();
lowvideo(); 
cprintf("Low Intensity text\r\n"); 
highvideo(); 
gotoxy(1,2); 
cprintf("High Intensity Text\r\n");
return 0; 
}
函数名: hypot 
功 能: 计算直角三角形的斜边长 
用 法: double hypot(double x, double y); 
程序例:
#i nclude 
#i nclude
int main(void) 
{ 
double result; 
double x = 3.0; 
double y = 4.0;
result = hypot(x, y); 
printf("The hypotenuse is: %lf\n", result);
return 0; 
}
函数名: imagesize 
功 能: 返回保存位图像所需的字节数 
用 法: unsigned far imagesize(int left, int top, int right, int bottom); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude
#define ARROW_SIZE 10
void draw_arrow(int x, int y);
int main(void) 
{ 
/* request autodetection */ 
int gdriver = DETECT, gmode, errorcode; 
void *arrow; 
int x, y, maxx; 
unsigned int size;
/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, "");
/* read result of initialization */ 
errorcode = graphresult(); 
if (errorcode != grOk) /* an error occurred */ 
{ 
printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); /* terminate with an error code */ 
}
maxx = getmaxx(); 
x = 0; 
y = getmaxy() / 2;
/* draw the image to be grabbed */ 
draw_arrow(x, y);
/* calculate the size of the image */ 
size = imagesize(x, y-ARROW_SIZE, x+(4*ARROW_SIZE), y+ARROW_SIZE);
/* allocate memory to hold the image */ 
arrow = malloc(size);
/* grab the image */ 
getimage(x, y-ARROW_SIZE, x+(4*ARROW_SIZE), y+ARROW_SIZE, arrow);
/* repeat until a key is pressed */ 
while (!kbhit()) 
{ 
/* erase old image */ 
putimage(x, y-ARROW_SIZE, arrow, XOR_PUT);
x += ARROW_SIZE; 
if (x >= maxx) 
x = 0;
/* plot new image */ 
putimage(x, y-ARROW_SIZE, arrow, XOR_PUT); 
}
/* clean up */ 
free(arrow); 
closegraph(); 
return 0; 
}
void draw_arrow(int x, int y) 
{ 
/* draw an arrow on the screen */ 
moveto(x, y); 
linerel(4*ARROW_SIZE, 0); 
linerel(-2*ARROW_SIZE, -1*ARROW_SIZE); 
linerel(0, 2*ARROW_SIZE); 
linerel(2*ARROW_SIZE, -1*ARROW_SIZE); 
}
函数名: initgraph 
功 能: 初始化图形系统 
用 法: void far initgraph(int far *graphdriver, int far *graphmode, 
char far *pathtodriver); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode;
/* initialize graphics mode */ 
initgraph(&gdriver, &gmode, "");
/* read result of initialization */ 
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */ 
{ 
printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); /* return with error code */ 
}
/* draw a line */ 
line(0, 0, getmaxx(), getmaxy());
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
}
函数名: inport 
功 能: 从硬件端口中输入 
用 法: int inp(int protid); 
程序例:
#i nclude 
#i nclude
int main(void) 
{ 
int result; 
int port = 0; /* serial port 0 */
result = inport(port); 
printf("Word read from port %d = 0x%X\n", port, result); 
return 0; 
}
函数名: insline 
功 能: 在文本窗口中插入一个空行 
用 法: void insline(void); 
程序例:
#i nclude
int main(void) 
{ 
clrscr(); 
cprintf("INSLINE inserts an empty line in the text window\r\n"); 
cprintf("at the cursor position using the current text\r\n"); 
cprintf("background color. All lines below the empty one\r\n"); 
cprintf("move down one line and the bottom line scrolls\r\n"); 
cprintf("off the bottom of the window.\r\n"); 
cprintf("\r\nPress any key to continue:"); 
gotoxy(1, 3); 
getch(); 
insline(); 
getch(); 
return 0; 
}
函数名: installuserdriver 
功 能: 安装设备驱动程序到BGI设备驱动程序表中 
用 法: int far installuserdriver(char far *name, int (*detect)(void)); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude
/* function prototypes */ 
int huge detectEGA(void); 
void checkerrors(void);
int main(void) 
{ 
int gdriver, gmode;
/* install a user written device driver */ 
gdriver = installuserdriver("EGA", detectEGA);
/* must force use of detection routine */ 
gdriver = DETECT;
/* check for any installation errors */ 
checkerrors();
/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, "");
/* check for any initialization errors */ 
checkerrors();
/* draw a line */ 
line(0, 0, getmaxx(), getmaxy());
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
}
/* detects EGA or VGA cards */ 
int huge detectEGA(void) 
{ 
int driver, mode, sugmode = 0;
detectgraph(&driver, &mode); 
if ((driver == EGA) || (driver == VGA)) 
/* return suggested video mode number */ 
return sugmode; 
else 
/* return an error code */ 
return grError; 
}
/* check for and report any graphics errors */ 
void checkerrors(void) 
{ 
int errorcode;
/* read result of last graphics operation */ 
errorcode = graphresult(); 
if (errorcode != grOk) 
{ 
printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); 
} 
}
函数名: installuserfont 
功 能: 安装未嵌入BGI系统的字体文件(CHR) 
用 法: int far installuserfont(char far *name); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude
/* function prototype */ 
void checkerrors(void);
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode; 
int userfont; 
int midx, midy;
/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, "");
midx = getmaxx() / 2; 
midy = getmaxy() / 2;
/* check for any initialization errors */ 
checkerrors();
/* install a user defined font file */ 
userfont = installuserfont("USER.CHR");
/* check for any installation errors */ 
checkerrors();
/* select the user font */ 
settextstyle(userfont, HORIZ_DIR, 4);
/* output some text */ 
outtextxy(midx, midy, "Testing!");
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
}
/* check for and report any graphics errors */ 
void checkerrors(void) 
{ 
int errorcode;
/* read result of last graphics operation */ 
errorcode = graphresult(); 
if (errorcode != grOk) 
{ 
printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); 
} 
}
函数名: int86 
功 能: 通用8086软中断接口 
用 法: int int86(int intr_num, union REGS *inregs, union REGS *outregs); 
程序例:
#i nclude 
#i nclude 
#i nclude
#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\n"); 
return 0; 
}
函数名: int86x 
功 能: 通用8086软中断接口 
用 法: int int86x(int intr_num, union REGS *insegs, union REGS *outregs, 
struct SREGS *segregs); 
程序例:
#i nclude 
#i nclude 
#i nclude
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\n", outregs.x.cx); 
return 0; 
}
函数名: intdos 
功 能: 通用DOS接口 
用 法: int intdos(union REGS *inregs, union REGS *outregs); 
程序例:
#i nclude 
#i nclude <
C语言库函数大全及应用实例七的更多相关文章
- C语言库函数大全及应用实例十四
		
原文:C语言库函数大全及应用实例十四 [编程资料]C语言库函数大全及应用实例十四 函数名: strset 功 能: 将一个串 ...
 - C语言库函数大全及应用实例十三
		
原文:C语言库函数大全及应用实例十三 [编程资料]C语言库函数大全及应用实例十三 函数名: stat 功 能: 读取打 ...
 - C语言库函数大全及应用实例十一
		
原文:C语言库函数大全及应用实例十一 [编程资料]C语言库函数大全及应用实例十一 函数名: setbkcolor 功 能 ...
 - C语言库函数大全及应用实例十二
		
原文:C语言库函数大全及应用实例十二 [编程资料]C语言库函数大全及应用实例十二 函数名: setrgbpalette ...
 - C语言库函数大全及应用实例十
		
原文:C语言库函数大全及应用实例十 [编程资料]C语言库函数大全及应用实例十 函数名: qsort 功 能: 使 ...
 - C语言库函数大全及应用实例九
		
原文:C语言库函数大全及应用实例九 [编程资料]C语言库函数大全及应用实例九 函数名: mktemp 功 ...
 - C语言库函数大全及应用实例八
		
原文:C语言库函数大全及应用实例八 [编程资料]C语言库函数大全及应用实例八 函数名: kbhit 功 能: 检查 ...
 - C语言库函数大全及应用实例五
		
原文:C语言库函数大全及应用实例五 [编程资料]C语言库函数大全及应用实例五 函数名: getcurdi ...
 - C语言库函数大全及应用实例六
		
原文:C语言库函数大全及应用实例六 [编程资料]C语言库函数大全及应用实例六 函数名: getlinesett ...
 
随机推荐
- 【iOS】Web Color 的 Swift 实现
			
用Swift语言重写Web Color这个类. 这次是用函数实现的,感觉也非常简洁.眼下(2014.6.28) Xcode 6的方法提示还不健全,就仅仅实现了用颜色名字创建颜色的功能. 最新代码&am ...
 - j经常使用ava应用server
			
什么是应用server它?它主要提供的执行环境的应用程序,为组件提供服务. 要了解更多关于,您可以查看我的博客:何为容器? Java 的应用server非常多,从功能上分为两类:WEB 应用serve ...
 - PHP与EXCEL PHPExcel
			
1.PHPExcel一个简短的引论 PHPExcel 它是用来操作Office Excel 文档PHP图书馆,它是基于微软的OpenXML标准PHP语言.能够使用它来读.写不同格电子表的类型格,例如 ...
 - SERVERCONFIG
			
-- Create tablecreate table ERP_SERVERCONFIG( id NUMBER not null, servicename VARCHAR2(500), service ...
 - .Net async
			
概述 先吐个槽,.NET的TPL框架,以及这篇文章想要表述的async await关键字,都是.NET语言层面本身支持的一种异步框架,代表其在编译时是可以最大化的被优化,作为内部DSL来说,.NET一 ...
 - Nginx+Php-fpm+MySQL+Redis源码编译安装指南
			
说明:本教程由三部分组成如下: 1. 源码编译安装Nginx 2. 源码编译安装php以及mysql.redis扩展模块 3. 配置虚拟主机 文中所涉及安装包程序均提供下 ...
 - Balanced Binary Tree(Java代码没有结束,是什么原因???)
			
Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...
 - NSIS:禁止选择安装路径和编辑安装目录
			
原文 NSIS:禁止选择安装路径和编辑安装目录 如果你想在安装包中禁止用户选择安装路径和编辑安装目录,有两种方式. 第一种:注释或删除安装目录选择页面 1 ;!insertmacro MUI_PA ...
 - WAP页面点击与hover延迟解决之道
			
最近一直在WAP端页面的开发,一直都知道wap端点击相关问题存在延迟.之前做的网页大部分使用a链接进行,一直未入此坑. 最近做的一个WAP网站,各种点击,hover事件,如果使用PC端网页的做法,直接 ...
 - 【leetcode】Clone Graph(python)
			
类似于二叉树的三种遍历,我们能够基于遍历的模板做非常多额外的事情,图的两种遍历,深度和广度模板相同也能够做非常多额外的事情,这里举例利用深度优先遍历的模板来进行复制,深度优先中,我们先訪问第一个结点, ...
 
			
		