首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言標準庫函數速查:以 g 開頭的函數(上)

     編輯:關於C語言

gcvt - 浮點數轉字符串(自動選擇定點/科學記數法)

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"

geninterrupt - 觸發軟中斷 (DOS/實模式)

void geninterrupt(int intr_num);

直接調用中斷向量 intr_num。常用於調用 BIOS/DPMI 服務(如 0x10 視頻服務)。現代保護模式 OS 禁止用戶態使用。

getarccoords - 獲取最後一次 arc 繪製的端點座標 (BGI)

void far getarccoords(struct arccoordstype far *arccoords);

填充結構體:xstart, ystart, xend, yend。配合 arc() 使用。

getaspectratio - 獲取當前圖形模式縱橫比 (BGI)

void far getaspectratio(int far *xasp, int far *yasp);

返回縱橫比因子,用於校正圓形繪製變形。配合 setaspectratio()。

getbkcolor - 獲取當前背景色 (BGI)

int far getbkcolor(void);

返回背景色索引值(0-15 或 0-255 視模式)。

getc - 從流讀取單字符

int getc(FILE *stream);

等同 fgetc,但可能實現為宏。返回字符值或 EOF。

getcbrk - 獲取 Ctrl+Break 檢查標誌 (DOS)

int getcbrk(void);

返回非 0 表示啟用 Ctrl+Break 檢查(DOS 會在 I/O 操作間檢查)。

getch / getche - 控制台無回顯/有回顯讀字符

int getch(void);   // 無回顯
int getche(void);  // 有回顯

conio.h 非標準函數,Windows 控制台常用。getchar() 為標準流讀取(帶緩衝、回顯)。

getchar - 從 stdin 讀字符

int getchar(void);

等同 getc(stdin)。行緩衝,需按 Enter 後返回。

getcolor - 獲取當前繪圖前景色 (BGI)

int far getcolor(void);

getcurdir - 獲取指定驅動器當前目錄 (DOS)

int getcurdir(int drive, char *direc);

drive:0=當前,1=A,2=B... 返回目錄字符串(不含駐留盤符)。

getcwd - 獲取當前工作目錄 (POSIX/標準 C)

char *getcwd(char *buf, int n);

將絕對路徑寫入 buf(大小 n),返回 buf;失敗返回 NULL。_getcwd 為 Windows 版本。

getdate - 獲取 DOS 系統日期

void getdate(struct date *dateblk);

填充 da_year, da_mon, da_day。dos.h 專用。

getdefaultpalette - 獲取默認調色板 (BGI)

struct palettetype *far getdefaultpalette(void);

返回指向內部調色板結構的指針,包含 size 和 colors[]。

getdisk - 獲取當前默認驅動器號

int getdisk(void);

返回 0=A, 1=B... 配合 setdisk() 切換默認驅動器。

getdrivername - 獲取當前圖形驅動程序名稱 (BGI)

char *far getdrivername(void);

getdta - 獲取磁盤傳輸區地址 (DOS)

char far *getdta(void);

返回 DOS 文件操作使用的 DTA (Disk Transfer Address) 遠指針。

getenv - 獲取環境變量值

char *getenv(const char *name);

標準 C 函數,返回環境變量字符串指針(不可修改),不存在返回 NULL。

getfat / getfatd - 獲取 FAT 文件系統信息 (DOS)

void getfat(int drive, struct fatinfo *fatblk);

填充簇大小、簇數、扇區大小、FAT ID(介質類型)等。

getfillpattern / getfillsettings - 獲取填充模式與顏色 (BGI)

void far getfillpattern(char far *upattern); // 用戶自定義模式 8 字節
void far getfillsettings(struct fillsettingstype far *fillinfo); // 當前模式/顏色

getftime - 獲取文件日期時間

int getftime(int handle, struct ftime *ftimep);

低級文件句柄版。結構含 ft_hour, ft_min, ft_tsec (2秒單位)、ft_month, ft_day, ft_year (相對 1980)。

getgraphmode - 獲取當前圖形模式編號 (BGI)

int far getgraphmode(void);

getimage - 將屏幕矩形區域存為位圖 (BGI)

void far getimage(int left, int top, int right, int bottom, void far *bitmap);

bitmap 需預先分配足夠內存(用 imagesize() 查詢大小)。配合 putimage() 實現屏幕保存/恢復。

getlinesettings - 獲取線條樣式/寬度 (BGI)

void far getlinesettings(struct linesettingstype far *lininfo);

返回線型(實線/虛線等)、用戶模式位模式、粗細。

getmaxcolor - 獲取最大可用顏色索引 (BGI)

int far getmaxcolor(void);

返回 setcolor() 可接受的最大值(如 15 表示 16 色模式)。

getmaxx / getmaxy - 獲取屏幕最大 X/Y 坐標 (BGI)

int far getmaxx(void); int far getmaxy(void);

分辨率為 (getmaxx()+1) x (getmaxy()+1)。

getmodename - 獲取圖形模式名稱字符串 (BGI)

char *far getmodename(int mode_number);

getmoderange - 獲取驅動程序支持的模式範圍 (BGI)

void far getmoderange(int graphdriver, int far *lomode, int far *himode);

getpalette - 獲取當前調色板內容 (BGI)

void far getpalette(struct palettetype far *palette);

getpass - 無回顯讀取密碼 (POSIX/Unix)

char *getpass(const char *prompt);

輸出 prompt,關閉回顯讀取一行,返回靜態緩衝區指針。非線程安全。

getpixel - 獲取指定像素顏色 (BGI)

int far getpixel(int x, int y);

gets - 從 stdin 讀取一行 (已棄用,危險)

char *gets(char *str);

嚴禁使用:無緩衝區長度檢查,極易導致緩衝區溢出。請用 fgets(str, n, stdin) 替代。

gettext - 復制文本模式屏幕區域到內存

int gettext(int left, int top, int right, int bottom, void *destin);

文本模式專用,destin 需足夠大((right-left+1)*(bottom-top+1)*2 字節)。配合 puttext() 恢復。

gettextinfo - 獲取文本模式屏幕信息

void gettextinfo(struct text_info *inforec);

填充窗口邊界、屬性、光標位置、屏幕尺寸等。

gettextsettings - 獲取圖形文本字體設置 (BGI)

void far gettextsettings(struct textsettingstype far *textinfo);

返回字體、方向、字符大小、水平/垂直對齊方式。

gettime - 獲取系統時間

void gettime(struct time *timep);

填充 ti_hour, ti_min, ti_sec, ti_hund (百分之一秒)。dos.h。

getvect - 獲取中斷向量入口地址 (DOS)

void interrupt (*getvect(int intr_num))(void);

返回中斷向量表中 intr_num 對應的處理程序遠指針。配合 setvect() 實現中斷鉤子。

getverify - 獲取 DOS 寫入驗證標誌

int getverify(void);

返回非 0 表示每次寫入磁盤後自動驗證(verify on)。

getviewsettings - 獲取視口設置 (BGI)

void far getviewsettings(struct viewporttype far *viewport);

返回視口邊界(left, top, right, bottom)和裁剪標誌(clip)。

getw - 從流讀取整數 (二進制格式)

int getw(FILE *stream);

讀取 sizeof(int) 字節並組合為整數(受端序影響)。文本文件請用 fscanf。

getx / gety - 獲取當前圖形光標位置 (BGI)

int far getx(void); int far gety(void);

gmtime - 時間戳轉換為 UTC 時間結構

struct tm *gmtime(const time_t *timer);

將 time_t 轉為 UTC struct tm。對應本地時間用 localtime。返回靜態結構體指針(非線程安全)。

gotoxy - 移動文本模式光標

void gotoxy(int x, int y);

conio.h,座標從 (1,1) 開始。配合 cprintf 輸出。

graphdefaults - 恢復所有圖形設置為默認值 (BGI)

void far graphdefaults(void);

grapherrormsg - 獲取圖形錯誤代碼對應信息字符串 (BGI)

char *far grapherrormsg(int errorcode);

graphresult - 獲取最後一次圖形操作錯誤代碼 (BGI)

int far graphresult(void);

成功返回 grOk (0),失敗返回錯誤碼(如 grError)。每次圖形調用後應檢查。

_graphfreemem / _graphgetmem - 圖形庫內存管理鉤子 (BGI)

void far _graphfreemem(void far *ptr, unsigned size);
void far *far _graphgetmem(unsigned size);

用戶可重寫這兩個函數自定義圖形庫內存分配器(如使用 EMS/XMS)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved