関数数名: bar
功能: 画一个二维条形图
用法: void far bar(int left, int top, int right, intbottom);
程序の例:
#include
#include
#include
#include
{
/* 自動検出のリクエスト */
int gdriver = DETECT, gmode, errorcode;
intmidx、midy、i; /* グラフィックスとローカル変数を初期化します */
initgraph(&gdriver, &gmode, ""); /* 初期化結果の読み取り */
errorcode =graphresult();
if (errorcode != grOk) /* エラーが発生しました */
{
PRintf("グラフィックス エラー: %sn",grapherrormsg(errorcode));
printf("停止するには任意のキーを押してください:");
getch();
終了(1); /* エラーコードで終了 */
} Midx = getmaxx() / 2;
midy = getmaxy() / 2; /* 塗りつぶしパターンをループします */
for (i=SOLID_FILL; i
/* 塗りつぶしスタイルを設定します */
setfillstyle(i, getmaxcolor()); /* バーを描画します */
bar(midx-50,midy-50,midx+50,
midy+50); getch();
} /* クリーンアップ */
closegraph();
0を返す;
}
関数数名: bar3d
功能: 画一三维条形图
用法: void far bar3d(int left, int top, int right, intbottom,
int Depth, int topflag);
手順例: #include
#include
#include
#include
{
/* 自動検出のリクエスト */
int gdriver = DETECT, gmode, errorcode;
intmidx、midy、i; /* グラフィックス、ローカル変数を初期化します */
initgraph(&gdriver, &gmode, ""); /* 初期化結果の読み取り */
errorcode =graphresult();
if (errorcode != grOk) /* エラーが発生しました */
{
printf("グラフィックス エラー: %sn",grapherrormsg(errorcode));
printf("停止するには任意のキーを押してください:");
getch();
終了(1); /* エラー コードで終了 */
} Midx = getmaxx() / 2;
midy = getmaxy() / 2; /* 塗りつぶしパターンをループします */
for (i=EMPTY_FILL; i
/* 塗りつぶしスタイルを設定します */
setfillstyle(i, getmaxcolor()); /* 3 次元バーを描画します */
bar3d(midx-50,midy-50,midx+50,midy+50,10,1); getch();
} /* クリーンアップ */
closegraph();
0を返す;
}
関数数名: bdos
功能: DOS系统调用
用法: int bdos(int dosfun, unsigned dosdx, unsigned dosal);
手順例: #include
#include
char current_drive(void)
{
char curdrive; /* 現在のディスクを 0, 1, ... として取得します */
curdrive = bdos(0x19, 0, 0);
return('A' + curdrive);
} int main(void)
{
printf("現在のドライブは %c:n", current_drive());
0を返す;
}
関数数名: bdosptr
功能: DOS系统调用
用法: int bdosptr(int dosfun, void *argument, unsigned dosal);
手順例: #include
#include
#include
#include
#include
#include
{
charbuffer[BUFLEN];
int テスト; printf("ディレクトリのフルパス名を入力してください");
gets(バッファ);テスト = bdosptr(0x3B,buffer,0);
if(テスト)
{
printf("DOS エラー メッセージ: %dn", errno);
/* エラーリストについては、errno.h を参照してください */
exit (1);
} getcwd(バッファ, BUFLEN);
printf("現在のディレクトリは: %sn", バッファ); 0を返します。
}
関数数名: bioscom
機能: 串行 I/O 通信
用途: int bioscom(int cmd, char abyte, int port);
手順例: #include
#include
#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, 設定, COM1);
cprintf("...BIOSCOM [ESC] を押して終了します...n");
while (!DONE)
{
status = bioscom(3, 0, COM1);
if (ステータス & DATA_READY)
if ((out = bioscom(2, 0, COM1) & 0x7F) != 0)
putch(out);
if (kbhit())
{
if ((in = getch()) == 'x1B')
DONE = TRUE;
bioscom(1, in, COM1);
}
}
0を返します。
}
関数数名: biosdisk
功能: 软硬盘I/O
用法: int biosdisk(int cmd, int drive, int head, int track, intセクター
int nsects, void *buffer);
手順例: #include
#include
{
int result;
文字バッファ[512]; printf("ドライブ a: の準備ができているかどうかをテストしています");
結果 = biosdisk(4,0,0,0,0,1,buffer);
結果 &= 0x02;
(結果)? (printf("ドライブ A: 準備ができています")) :
(printf("ドライブ A: 準備ができていません")); 0を返します。
}
関数数名: biosequip
功能: 检查设备
用法: int biosequip(void);
手順例: #include
#include
{
int result;
文字バッファ[512]; printf("ドライブ a: の準備ができているかどうかをテストしています");
結果 = biosdisk(4,0,0,0,0,1,buffer);
結果 &= 0x02;
(結果)? (printf("ドライブ A: 準備ができています")) :
(printf("ドライブ A: 準備ができていません")); 0を返します。
}
関数名: bioskey
機能: BIOS サービスの直接使用の键盘接続口
使用法: int bioskey(int cmd);
手順例: #include
#include
#include
#define LEFT 0x02
#define CTRL 0x04
#define ALT 0x08 int main(void)
{
int キー、修飾子; /* 関数 1 はキーが押されるまで 0 を返します */
while (bioskey(1) == 0); /* 関数 0 は待機しているキーを返します */
key = bioskey(0); /* 関数 2 を使用して、シフト キーが使用されたかどうかを判断します */
modifiers = bioskey(2);
if (修飾子)
{
printf("[");
if (修飾子 & RIGHT) printf("RIGHT");
if (修飾子 & LEFT) printf("LEFT");
if (修飾子と CTRL) printf("CTRL");
if (修飾子と ALT) printf("ALT");
printf("]");
}
/* 読み取った文字を出力します */
if (isalnum(key & 0xFF))
printf("'%c'n", key);
else
printf("%#02xn", key);
0を返す;
} 関数名: biosmemory
功能: 返還存储块大小
用 法:int biosmemory(void);
手順例: #include
#include
{
intmemory_size;メモリサイズ = biosmemory(); /* 最大 640K の値を返します */
printf("RAM size = %dKn",memory_size);
0を返す;
} 関数数名: biosprint
機能: BIOS サービスの打機 I/O を直接使用する
用途: int biosprint(int cmd, int byte, int port);
手順例: #include
#include
#include
{
#define STATUS 2 /* プリンターステータスコマンド */
#define PORTNUM 0 /* LPT1 のポート番号 */ int status, abyte=0; printf("プリンタの電源を切ってください。続行するには任意のキーを押してください");
getch();
status = biosprint(STATUS, abyte, PORTNUM);
if (ステータス & 0x01)
printf("デバイスタイムアウト.n");
if (ステータス & 0x08)
printf("I/O error.n"); if (ステータス & 0x10)
printf("Selected.n");
if (ステータス & 0x20)
printf("紙切れ.n"); if (ステータス & 0x40)
printf("Acknowledge.n");
if (ステータス & 0x80)
printf("空いています.n"); 0を返します。
}
関数数名: biostime
機能: 读取または設置BIOS 時間
用法: long biostime(int cmd, long newtime);
手順例: #include
#include
#include
#include
{
long bios_time; clrscr();
cprintf("午前 0 時からの時計のティック数は:rn");
cprintf("午前0時からの秒数は:rn");
cprintf("午前0時からの分数は:rn");
cprintf("午前 0 時からの時間数は:rn");
cprintf("rn終了するには任意のキーを押してください:");
while(!kbhit())
{
bios_time = biostime(0, 0L); gotoxy(50, 1);
cprintf("%lu", bios_time);
cprintf("%.4f", bios_time / CLK_TCK); / 60);
cprintf("%.4f", bios_time / CLK_TCK / 3600);
関数名: brk
関数: データセグメントのスペース割り当てを変更します。 : int brk(void *endds);
プログラム例: #include
{
char *ptr; )n");
ptr = malloc(1);
printf("brk() 呼び出し前: %lu バイト解放", coreleft());
brk(ptr+1000);
printf(" brk() 後) call: %lu bytes freen", coreleft());
return 0;
}
関数名: bsearch
関数: 二分探索
使用法: void *bsearch(const void *key, const void *base, size_t * nelem ,
size_t width, int(*fcmp)(const void *, const *));
プログラム例: #include
{
return(* p1) - *p2);
} int lookup(int key)
{
int *itemptr; /* 型の不一致を避けるために (int(*)(const void *,const void*)) のキャストが必要です
コンパイル時のエラー */
itemptr = bsearch (&key, numarray, NELEMS(umarray),
sizeof(int), (int(*)(const void *,const void *))numeric); = NULL);
} int main(void)
{
if (lookup(512))
printf("512 は table.n にあります");
else
printf("512 は table.n にありません) " ); return 0;
}
上記は C 言語ライブラリ関数 (B タイプ文字) の内容です。その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。