char *gcvt(double value, int ndigit, char *buf);
將 value 轉為 ndigit 有效數字的字符串存入 buf,自動選擇 %f 或 %e 格式。返回 buf。
char buf[25]; gcvt(9.876, 5, buf); // buf="9.876"
void geninterrupt(int intr_num);
直接調用中斷向量 intr_num。常用於調用 BIOS/DPMI 服務(如 0x10 視頻服務)。現代保護模式 OS 禁止用戶態使用。
void far getarccoords(struct arccoordstype far *arccoords);
填充結構體:xstart, ystart, xend, yend。配合 arc() 使用。
void far getaspectratio(int far *xasp, int far *yasp);
返回縱橫比因子,用於校正圓形繪製變形。配合 setaspectratio()。
int far getbkcolor(void);
返回背景色索引值(0-15 或 0-255 視模式)。
int getc(FILE *stream);
等同 fgetc,但可能實現為宏。返回字符值或 EOF。
int getcbrk(void);
返回非 0 表示啟用 Ctrl+Break 檢查(DOS 會在 I/O 操作間檢查)。
int getch(void); // 無回顯
int getche(void); // 有回顯
conio.h 非標準函數,Windows 控制台常用。getchar() 為標準流讀取(帶緩衝、回顯)。
int getchar(void);
等同 getc(stdin)。行緩衝,需按 Enter 後返回。
int far getcolor(void);
int getcurdir(int drive, char *direc);
drive:0=當前,1=A,2=B... 返回目錄字符串(不含駐留盤符)。
char *getcwd(char *buf, int n);
將絕對路徑寫入 buf(大小 n),返回 buf;失敗返回 NULL。_getcwd 為 Windows 版本。
void getdate(struct date *dateblk);
填充 da_year, da_mon, da_day。dos.h 專用。
struct palettetype *far getdefaultpalette(void);
返回指向內部調色板結構的指針,包含 size 和 colors[]。
int getdisk(void);
返回 0=A, 1=B... 配合 setdisk() 切換默認驅動器。
char *far getdrivername(void);
char far *getdta(void);
返回 DOS 文件操作使用的 DTA (Disk Transfer Address) 遠指針。
char *getenv(const char *name);
標準 C 函數,返回環境變量字符串指針(不可修改),不存在返回 NULL。
void getfat(int drive, struct fatinfo *fatblk);
填充簇大小、簇數、扇區大小、FAT ID(介質類型)等。
void far getfillpattern(char far *upattern); // 用戶自定義模式 8 字節
void far getfillsettings(struct fillsettingstype far *fillinfo); // 當前模式/顏色
int getftime(int handle, struct ftime *ftimep);
低級文件句柄版。結構含 ft_hour, ft_min, ft_tsec (2秒單位)、ft_month, ft_day, ft_year (相對 1980)。
int far getgraphmode(void);
void far getimage(int left, int top, int right, int bottom, void far *bitmap);
bitmap 需預先分配足夠內存(用 imagesize() 查詢大小)。配合 putimage() 實現屏幕保存/恢復。
void far getlinesettings(struct linesettingstype far *lininfo);
返回線型(實線/虛線等)、用戶模式位模式、粗細。
int far getmaxcolor(void);
返回 setcolor() 可接受的最大值(如 15 表示 16 色模式)。
int far getmaxx(void); int far getmaxy(void);
分辨率為 (getmaxx()+1) x (getmaxy()+1)。
char *far getmodename(int mode_number);
void far getmoderange(int graphdriver, int far *lomode, int far *himode);
void far getpalette(struct palettetype far *palette);
char *getpass(const char *prompt);
輸出 prompt,關閉回顯讀取一行,返回靜態緩衝區指針。非線程安全。
int far getpixel(int x, int y);
char *gets(char *str);
嚴禁使用:無緩衝區長度檢查,極易導致緩衝區溢出。請用 fgets(str, n, stdin) 替代。
int gettext(int left, int top, int right, int bottom, void *destin);
文本模式專用,destin 需足夠大((right-left+1)*(bottom-top+1)*2 字節)。配合 puttext() 恢復。
void gettextinfo(struct text_info *inforec);
填充窗口邊界、屬性、光標位置、屏幕尺寸等。
void far gettextsettings(struct textsettingstype far *textinfo);
返回字體、方向、字符大小、水平/垂直對齊方式。
void gettime(struct time *timep);
填充 ti_hour, ti_min, ti_sec, ti_hund (百分之一秒)。dos.h。
void interrupt (*getvect(int intr_num))(void);
返回中斷向量表中 intr_num 對應的處理程序遠指針。配合 setvect() 實現中斷鉤子。
int getverify(void);
返回非 0 表示每次寫入磁盤後自動驗證(verify on)。
void far getviewsettings(struct viewporttype far *viewport);
返回視口邊界(left, top, right, bottom)和裁剪標誌(clip)。
int getw(FILE *stream);
讀取 sizeof(int) 字節並組合為整數(受端序影響)。文本文件請用 fscanf。
int far getx(void); int far gety(void);
struct tm *gmtime(const time_t *timer);
將 time_t 轉為 UTC struct tm。對應本地時間用 localtime。返回靜態結構體指針(非線程安全)。
void gotoxy(int x, int y);
conio.h,座標從 (1,1) 開始。配合 cprintf 輸出。
void far graphdefaults(void);
char *far grapherrormsg(int errorcode);
int far graphresult(void);
成功返回 grOk (0),失敗返回錯誤碼(如 grError)。每次圖形調用後應檢查。
void far _graphfreemem(void far *ptr, unsigned size);
void far *far _graphgetmem(unsigned size);
用戶可重寫這兩個函數自定義圖形庫內存分配器(如使用 EMS/XMS)。