功 能: 画一个二维条形图
用 法: void far bar(int left, int top, int right, int bottom);
程序例:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h> int main(void)
{
/* request auto detection */
int gdriver = detect, gmode, errorcode;
int midx, midy, i; /* 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; /* loop through the fill patterns */
for (i=solid_fill; i
/* set the fill style */
setfillstyle(i, getmaxcolor()); /* draw the bar */
bar(midx-50, midy-50, midx+50,
midy+50); getch();
} /* clean up */
closegraph();
return 0;
}
函数名: bar3d
功 能: 画一个三维条形图
用 法: void far bar3d(int left, int top, int right, int bottom,
int depth, int topflag);
程序例: #include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h> int main(void)
{
/* request auto detection */
int gdriver = detect, gmode, errorcode;
int midx, midy, i; /* initialize graphics, 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 error code */
} midx = getmaxx() / 2;
midy = getmaxy() / 2; /* loop through the fill patterns */
for (i=empty_fill; i
/* set the fill style */
setfillstyle(i, getmaxcolor()); /* draw the 3-d bar */
bar3d(midx-50, midy-50, midx+50, midy+50, 10, 1); getch();
} /* clean up */
closegraph();
return 0;
}
函数名: bdos
功 能: dos系统调用
用 法: int bdos(int dosfun, unsigned dosdx, unsigned dosal);
程序例: #include <stdio.h>
#include <dos.h> /* get current drive as 'a', 'b', ... */
char current_drive(void)
{
char curdrive; /* get current disk as 0, 1, ... */
curdrive = bdos(0x19, 0, 0);
return('a' + curdrive);
} int main(void)
{
printf(the current drive is %c:\n, current_drive());
return 0;
}
函数名: bdosptr
功 能: dos系统调用
用 法: int bdosptr(int dosfun, void *argument, unsigned dosal);
程序例: #include <string.h>
#include <stdio.h>
#include <dir.h>
#include <dos.h>
#include <errno.h>
#include <stdlib.h> #define buflen 80 int main(void)
{
char buffer[buflen];
int test; printf(enter full pathname of a directory\n);
gets(buffer); test = bdosptr(0x3b,buffer,0);
if(test)
{
printf(dos error message: %d\n, errno);
/* see errno.h for error listings */
exit (1);
} getcwd(buffer, buflen);
printf(the current directory is: %s\n, buffer); return 0;
}
函数名: bioscom
功 能: 串行i/o通信
用 法: int bioscom(int cmd, char abyte, int port);
程序例: #include <bios.h>
#include <conio.h> #define com1 0
#define data_ready 0x100
#define true 1
#define false 0 #define settings ( 0x80 0x02 0x00 0x00) int main(void)
{
int in, out, status, done = false; bioscom(0, settings, com1);
cprintf(... bioscom [esc] to exit ...\n);
while (!done)
{
status = bioscom(3, 0, com1);
if (status & data_ready)
if ((out = bioscom(2, 0, com1) & 0x7f) != 0)
putch(out);
if (kbhit())
{
if ((in = getch()) == '\x1b')
done = true;
bioscom(1, in, com1);
}
}
return 0;
}
函数名: biosdisk
功 能: 软硬盘i/o
用 法: int biosdisk(int cmd, int drive, int head, int track, int sector
int nsects, void *buffer);
程序例: #include <bios.h>
#include <stdio.h> int main(void)
{
int result;
char buffer[512]; printf(testing to see if drive a: is ready\n);
result = biosdisk(4,0,0,0,0,1,buffer);
result &= 0x02;
(result) ? (printf(drive a: ready\n)) :
(printf(drive a: not ready\n)); return 0;
}
函数名: biosequip
功 能: 检查设备
用 法: int biosequip(void);
程序例: #include <bios.h>
#include <stdio.h> int main(void)
{
int result;
char buffer[512]; printf(testing to see if drive a: is ready\n);
result = biosdisk(4,0,0,0,0,1,buffer);
result &= 0x02;
(result) ? (printf(drive a: ready\n)) :
(printf(drive a: not ready\n)); return 0;
}
函数名: bioskey
功 能: 直接使用bios服务的键盘接口
用 法: int bioskey(int cmd);
程序例: #include <stdio.h>
#include <bios.h>
#include <ctype.h> #define right 0x01
#define left 0x02
#define ctrl 0x04
#define alt 0x08 int main(void)
{
int key, modifiers; /* function 1 returns 0 until a key is pressed */
while (bioskey(1) == 0); /* function 0 returns the key that is waiting */
key = bioskey(0); /* use function 2 to determine if shift keys were used */
modifiers = bioskey(2);
if (modifiers)
{
printf([);
if (modifiers & right) printf(right);
if (modifiers & left) printf(left);
if (modifiers & ctrl) printf(ctrl);
if (modifiers & alt) printf(alt);
printf(]);
}
/* print out the character read */
if (isalnum(key & 0xff))
printf('%c'\n, key);
else
printf(%#02x\n, key);
return 0;
} 函数名: biosmemory
功 能: 返回存储块大小
用 法:int biosmemory(void);
程序例: #include <stdio.h>
#include <bios.h> int main(void)
{
int memory_size; memory_size = biosmemory(); /* returns value up to 640k */
printf(ram size = %dk\n,memory_size);
return 0;
}
函数名: biosprint
功 能: 直接使用bios服务的打印机i/o
用 法: int biosprint(int cmd, int byte, int port);
程序例: #include <stdio.h>
#include <conio.h>
#include <bios.h> int main(void)
{
#define status 2 /* printer status command */
#define portnum 0 /* port number for lpt1 */ int status, abyte=0; printf(please turn off your printer. press any key to continue\n);
getch();
status = biosprint(status, abyte, portnum);
if (status & 0x01)
printf(device time out.\n);
if (status & 0x08)
printf(i/o error.\n); if (status & 0x10)
printf(selected.\n);
if (status & 0x20)
printf(out of paper.\n); if (status & 0x40)
printf(acknowledge.\n);
if (status & 0x80)
printf(not busy.\n); return 0;
}
函数名: biostime
功 能: 读取或设置bios时间
用 法: long biostime(int cmd, long newtime);
程序例: #include <stdio.h>
#include <bios.h>
#include <time.h>
#include <conio.h> int main(void)
{
long bios_time; clrscr();
cprintf(the number of clock ticks since midnight is:\r\n);
cprintf(the number of seconds since midnight is:\r\n);
cprintf(the number of minutes since midnight is:\r\n);
cprintf(the number of hours since midnight is:\r\n);
cprintf(\r\npress any key to quit:);
while(!kbhit())
{
bios_time = biostime(0, 0l); gotoxy(50, 1);
cprintf(%lu, bios_time); gotoxy(50, 2);
cprintf(%.4f, bios_time / clk_tck); gotoxy(50, 3);
cprintf(%.4f, bios_time / clk_tck / 60); gotoxy(50, 4);
cprintf(%.4f, bios_time / clk_tck / 3600);
}
return 0;
}
函数名: brk
功 能: 改变数据段空间分配
用 法: int brk(void *endds);
程序例: #include <stdio.h>
#include <alloc.h> int main(void)
{
char *ptr; printf(changing allocation with brk()\n);
ptr = malloc(1);
printf(before brk() call: %lu bytes free\n, coreleft());
brk(ptr+1000);
printf( after brk() call: %lu bytes free\n, coreleft());
return 0;
}
函数名: bsearch
功 能: 二分法搜索
用 法: void *bsearch(const void *key, const void *base, size_t *nelem,
size_t width, int(*fcmp)(const void *, const *));
程序例: #include <stdlib.h>
#include <stdio.h> #define nelems(arr) (sizeof(arr) / sizeof(arr[0])) int numarray[] = {123, 145, 512, 627, 800, 933}; int numeric (const int *p1, const int *p2)
{
return(*p1 - *p2);
} int lookup(int key)
{
int *itemptr; /* the cast of (int(*)(const void *,const void*))
is needed to avoid a type mismatch error at
compile time */
itemptr = bsearch (&key, numarray, nelems(numarray),
sizeof(int), (int(*)(const void *,const void *))numeric);
return (itemptr != null);
} int main(void)
{
if (lookup(512))
printf(512 is in the table.\n);
else
printf(512 isn't in the table.\n); return 0;
}
以上就是c语言库函数 (b类字母)的内容。