Home >Backend Development >C#.Net Tutorial >C language library functions (B-type letters)

C language library functions (B-type letters)

黄舟
黄舟Original
2016-12-16 09:44:261324browse

函数名: bar 
功 能: 画一个二维条形图 
用 法: void far bar(int left, int top, int right, int bottom); 
程序例: 
#include  
#include  
#include  
#include 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: %sn", 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  
#include  
#include  
#include 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: %sn", 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  
#include /* 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  

#include  
#include  
#include  
#include  
#include #define BUFLEN 80 int main(void) 

char buffer[BUFLEN]; 
int test; printf("Enter full pathname of a Directoryn"); 
gets(buffer); test = bdosptr(0x3B,buffer,0); 
if(test) 

printf("DOS error message: %dn", errno); 
/* See errno.h for error listings */ 
exit (1); 
} getcwd(buffer, BUFLEN); 
printf("The current directory is: %sn", buffer); return 0; 

函数名: bioscom 
功 能: 串行I/O通信 
用 法: int bioscom(int cmd, char abyte, int port); 
程序例: #include  
#include #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  
#include int main(void) 

int result; 
char buffer[512]; printf("Testing to see if drive a: is readyn"); 
result = biosdisk(4,0,0,0,0,1,buffer); 
result &= 0x02; 
(result) ? (printf("Drive A: Readyn")) : 
(printf("Drive A: Not Readyn")); return 0; 

函数名: biosequip 
功 能: 检查设备 
用 法: int biosequip(void); 
程序例: #include  
#include int main(void) 

int result; 
char buffer[512]; printf("Testing to see if drive a: is readyn"); 
result = biosdisk(4,0,0,0,0,1,buffer); 
result &= 0x02; 
(result) ? (printf("Drive A: Readyn")) : 
(printf("Drive A: Not Readyn")); return 0; 

函数名: bioskey 
功 能: 直接使用BIOS服务的键盘接口 
用 法: int bioskey(int cmd); 
程序例: #include  
#include  
#include #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("%#02xn", key); 
return 0; 
} 函数名: biosmemory 
功 能: 返回存储块大小 
用 法:int biosmemory(void); 
程序例: #include  
#include int main(void) 

int memory_size; memory_size = biosmemory(); /* returns value up to 640K */ 
printf("RAM size = %dKn",memory_size); 
return 0; 

函数名: biosprint 
功 能: 直接使用BIOS服务的打印机I/O 
用 法: int biosprint(int cmd, int byte, int port); 
程序例: #include  
#include  
#include 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 continuen"); 
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  
#include  
#include  
#include int main(void) 

long bios_time; clrscr(); 
cprintf("The number of clock ticks since midnight is:rn"); 
cprintf("The number of seconds since midnight is:rn"); 
cprintf("The number of minutes since midnight is:rn"); 
cprintf("The number of hours since midnight is:rn"); 
cprintf("rnPress 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;
}
Function name: brk
Function: Change data segment space allocation
Usage : int brk(void *endds);
Program example: #include
#include int main(void)
{
char *ptr; printf("Changing allocation with brk( )n");
ptr = malloc(1);
printf("Before brk() call: %lu bytes freen", coreleft());

brk(ptr+1000);
printf(" After brk( ) call: %lu bytes freen", coreleft());
return 0;
}
Function name: bsearch
Function: binary search
Usage: void *bsearch(const void *key, const void *base, size_t * nelem,
size_t width, int(*fcmp)(const void *, const *));
Program example: #include
#include #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;
}

The above is the content of C language library functions (B-type letters). For more related articles, please pay attention to the PHP Chinese website (www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn