harderr - 安裝硬體錯誤處理常式
void harderr(int (*handler)(int, int, int, int));
// 範例:攔截磁碟錯誤提示使用者 Abort/Retry/Ignore
// 僅適用於即時模式 DOS,現代作業系統不支援
line / linerel / circle / ellipse / arc - BGI 圖形繪製
void far line(int x0, int y0, int x1, int y1);
void far linerel(int dx, int dy);
void far circle(int x, int y, int radius);
void far ellipse(int x, int y, int stangle, int endangle,
int xradius, int yradius);
void far arc(int x, int y, int stangle, int endangle, int radius);
// 需 initgraph() 初始化,closegraph() 結束
cleardevice / clearviewport - 圖形螢幕/視口清除
void far cleardevice(void);
void far clearviewport(void);
// cleardevice 清除整個螢幕,clearviewport 僅清除當前視口
clearerr - 重設串流錯誤旗標
void clearerr(FILE *stream);
// 範例:讀取寫入模式檔案觸發錯誤後重設
chdir / _chmod / chsize - 目錄與檔案操作
int chdir(const char *path);
int chmod(const char *filename, int mode); // 變更權限
int chsize(int handle, long size); // 截斷/擴充檔案
// chmod 權限常數:S_IREAD, S_IWRITE, S_IEXEC
close / _close - 關閉檔案控制代碼
int close(int handle);
// 配合 open/creat 使用,非標準 C(標準用 fclose)
outport / outportb - 硬體埠輸出
void outport(int port, int value);
void outportb(int port, char value);
// 直接操作 I/O 埠,需核心權限,受保護模式 OS 限制
outtext / outtextxy - 圖形模式文字輸出
void far outtext(const char *textstring); // 從目前游標位置輸出
void far outtextxy(int x, int y, const char *textstring); // 指定座標輸出
lock - 檔案區域鎖定
int lock(int handle, long offset, long length);
// 獨佔存取檔案區間,配合 unlock 釋放
localtime - 時間轉換
struct tm *localtime(const time_t *timer);
// 將 time_t 轉為本地時間 tm 結構
標準化程度對照
| 函數 | 標準 | 備註 |
| chdir, chmod, chsize, close, localtime | POSIX / ANSI C | 跨平台可用 |
| clearerr | ANSI C | 標準串流操作 |
| line, circle, ellipse, arc, cleardevice, outtext, outtextxy | Borland BGI | 僅 Turbo C/Borland C 支援 |
| harderr, outport, outportb, lock | DOS/實模式 | 現代 OS 不支援或需驅動程式 |
現代替代方案
- 圖形繪製:SDL2、SFML、OpenGL、Cairo、Qt
- 硬體存取:libusb、WinUSB、Linux sysfs、Windows WMI
- 檔案鎖定:
fcntl() (POSIX)、LockFileEx() (Windows)