1. gzyueqian
      18529173453
      首頁 > 新聞中心 > > 正文

      C語言庫函數(shù)大全(字母b)---使用說明

      更新時間: 2007-05-28 13:17:19來源: 粵嵌教育瀏覽量:996


      函數(shù)名: bar
      功 能: 畫一個二維條形圖
      用 法: 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<USER_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;
      }

      函數(shù)名: 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<USER_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;
      }

      函數(shù)名: bdos
      功 能: DOS系統(tǒng)調(diào)用
      用 法: 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;
      }

      函數(shù)名: bdosptr
      功 能: DOS系統(tǒng)調(diào)用
      用 法: 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;
      }

      函數(shù)名: 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;
      }

      函數(shù)名: 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;
      }

      函數(shù)名: biosequip
      功 能: 檢查設(shè)備
      用 法: 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;
      }

      函數(shù)名: bioskey
      功 能: 直接使用BIOS服務(wù)的鍵盤接口
      用 法: 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;
      }

      函數(shù)名: 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;
      }

      函數(shù)名: biosprint
      功 能: 直接使用BIOS服務(wù)的打印機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;
      }

      函數(shù)名: biostime
      功 能: 讀取或設(shè)置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;
      }

      函數(shù)名: brk
      功 能: 改變數(shù)據(jù)段空間分配
      用 法: 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;
      }

      函數(shù)名: 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;
      }

      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 一色屋精品视频在线观看 | 日韩精品亚洲国产中文一区蜜芽 | 亚洲欧美国产制服动漫 | 亚洲欧美偷国产精品三区 | 日韩乱偷中文字幕 | 亚洲欧美中文幕乱码在线 |