⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 [c函数之g].txt

📁 C常用函数 多了解一些有好处的
💻 TXT
📖 第 1 页 / 共 4 页
字号:
getch(); 
/* terminate with an error code */ 
exit(1); 
} 

setcolor(getmaxcolor()); 

/* get name of the device driver in use */ 
drivername = getdrivername(); 

/* for centering text on the screen */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 

/* output the name of the driver */ 
outtextxy(getmaxx() / 2, getmaxy() / 2, 
drivername); 

/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 



函数名: getdta 
功 能: 取磁盘传输地址 
用 法: char far *getdta(void); 
程序例: 

#include <dos.h> 
#include <stdio.h> 

int main(void) 
{ 
char far *dta; 

dta = getdta(); 
printf("The current disk transfer \ 
address is: %Fp\n", dta); 
return 0; 
} 



函数名: getenv 
功 能: 从环境中取字符串 
用 法: char *getenv(char *envvar); 
程序例: 

#include <stdlib.h> 
#include <stdio.h> 


int main(void) 
{ 
char *s; 

s=getenv("COMSPEC"); /* get the comspec environment parameter */ 
printf("Command processor: %s\n",s); /* display comspec parameter */ 

return 0; 
} 




函数名: getfat, getfatd 
功 能: 取文件分配表信息 
用 法: void getfat(int drive, struct fatinfo *fatblkp); 
程序例: 

#include <stdio.h> 
#include <dos.h> 

int main(void) 
{ 
struct fatinfo diskinfo; 
int flag = 0; 

printf("Please insert disk in drive A\n"); 
getchar(); 

getfat(1, &diskinfo); 
/* get drive information */ 

printf("\nDrive A: is "); 
switch((unsigned char) diskinfo.fi_fatid) 
{ 
case 0xFD: 
printf("360K low density\n"); 
break; 

case 0xF9: 
printf("1.2 Meg high density\n"); 
break; 

default: 
printf("unformatted\n"); 
flag = 1; 
} 

if (!flag) 
{ 
printf(" sectors per cluster %5d\n", 
diskinfo.fi_sclus); 
printf(" number of clusters %5d\n", 
diskinfo.fi_nclus); 
printf(" bytes per sector %5d\n", 
diskinfo.fi_bysec); 
} 

return 0; 
} 



函数名: getfillpattern 
功 能: 将用户定义的填充模式拷贝到内存中 
用 法: void far getfillpattern(char far *upattern); 
程序例: 

#include <graphics.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 

int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int maxx, maxy; 
char pattern[8] = {0x00, 0x70, 0x20, 0x27, 0x25, 0x27, 0x04, 0x04}; 

/* 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 */ 
} 

maxx = getmaxx(); 
maxy = getmaxy(); 
setcolor(getmaxcolor()); 

/* select a user defined fill pattern */ 
setfillpattern(pattern, getmaxcolor()); 

/* fill the screen with the pattern */ 
bar(0, 0, maxx, maxy); 

getch(); 

/* get the current user defined fill pattern */ 
getfillpattern(pattern); 

/* alter the pattern we grabbed */ 
pattern[4] -= 1; 
pattern[5] -= 3; 
pattern[6] += 3; 
pattern[7] -= 4; 

/* select our new pattern */ 
setfillpattern(pattern, getmaxcolor()); 

/* fill the screen with the new pattern */ 
bar(0, 0, maxx, maxy); 

/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 



函数名: getfillsettings 
功 能: 取得有关当前填充模式和填充颜色的信息 
用 法: void far getfillsettings(struct fillsettingstype far *fillinfo); 
程序例: 

#include <graphics.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 

/ the names of the fill styles supported */ 
char *fname[] = { "EMPTY_FILL", 
"SOLID_FILL", 
"LINE_FILL", 
"LTSLASH_FILL", 
"SLASH_FILL", 
"BKSLASH_FILL", 
"LTBKSLASH_FILL", 
"HATCH_FILL", 
"XHATCH_FILL", 
"INTERLEAVE_FILL", 
"WIDE_DOT_FILL", 
"CLOSE_DOT_FILL", 
"USER_FILL" 
}; 

int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
struct fillsettingstype fillinfo; 
int midx, midy; 
char patstr[40], colstr[40]; 

/* 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; 

/* get information about current fill pattern and color */ 
getfillsettings(&fillinfo); 

/* convert fill information into strings */ 
sprintf(patstr, "%s is the fill style.", fname[fillinfo.pattern]); 
sprintf(colstr, "%d is the fill color.", fillinfo.color); 

/* display the information */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(midx, midy, patstr); 
outtextxy(midx, midy+2*textheight("W"), colstr); 

/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 




函数名: getftime 
功 能: 取文件日期和时间 
用 法: int getftime(int handle, struct ftime *ftimep); 
程序例: 

#include <stdio.h> 
#include <io.h> 

int main(void) 
{ 
FILE *stream; 
struct ftime ft; 

if ((stream = fopen("TEST.$$$", 
"wt")) == NULL) 
{ 
fprintf(stderr, 
"Cannot open output file.\n"); 
return 1; 
} 
getftime(fileno(stream), &ft); 
printf("File time: %u:%u:%u\n", 
ft.ft_hour, ft.ft_min, 
ft.ft_tsec * 2); 
printf("File date: %u/%u/%u\n", 
ft.ft_month, ft.ft_day, 
ft.ft_year+1980); 
fclose(stream); 
return 0; 
} 




函数名: getgraphmode 
功 能: 返回当前图形模式 
用 法: int far getgraphmode(void); 
程序例: 

#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, mode; 
char numname[80], modename[80]; 

/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, ""); 

/* read result of initialization */ 
errorcode = graphresult(); 
/* an error occurred */ 
if (errorcode != grOk) 
{ 
printf("Graphics error: %s\n", 
grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
/* terminate with an error code */ 
exit(1); 
} 

midx = getmaxx() / 2; 
midy = getmaxy() / 2; 

/* get mode number and name strings */ 
mode = getgraphmode(); 
sprintf(numname, 
"%d is the current mode number.", 
mode); 
sprintf(modename, 
"%s is the current graphics mode", 
getmodename(mode)); 

/* display the information */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(midx, midy, numname); 
outtextxy(midx, midy+2*textheight("W"), 
modename); 

/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 



函数名: getftime 
功 能: 取文件日期和时间 
用 法: int getftime(int handle, struct ftime *ftimep); 
程序例: 

#include <stdio.h> 
#include <io.h> 

int main(void) 
{ 
FILE *stream; 
struct ftime ft; 

if ((stream = fopen("TEST.$$$", 
"wt")) == NULL) 
{ 
fprintf(stderr, 
"Cannot open output file.\n"); 
return 1; 
} 
getftime(fileno(stream), &ft); 
printf("File time: %u:%u:%u\n", 
ft.ft_hour, ft.ft_min, 
ft.ft_tsec * 2); 
printf("File date: %u/%u/%u\n", 
ft.ft_month, ft.ft_day, 
ft.ft_year+1980); 
fclose(stream); 
return 0; 
} 




函数名: getgraphmode 
功 能: 返回当前图形模式 
用 法: int far getgraphmode(void); 
程序例: 

#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, mode; 
char numname[80], modename[80]; 

/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, ""); 

/* read result of initialization */ 
errorcode = graphresult(); 
/* an error occurred */ 
if (errorcode != grOk) 
{ 
printf("Graphics error: %s\n", 
grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
/* terminate with an error code */ 
exit(1); 
} 

midx = getmaxx() / 2; 
midy = getmaxy() / 2; 

/* get mode number and name strings */ 
mode = getgraphmode(); 
sprintf(numname, 
"%d is the current mode number.", 
mode); 
sprintf(modename, 
"%s is the current graphics mode", 
getmodename(mode)); 

/* display the information */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(midx, midy, numname); 
outtextxy(midx, midy+2*textheight("W"), 
modename); 

/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 



函数名: getimage 
功 能: 将指定区域的一个位图存到主存中 
用 法: void far getimage(int left, int top, int right, int bottom, 
void far *bitmap); 
程序例: 

#include <graphics.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 
#include <alloc.h> 

void save_screen(void far *buf[4]); 
void restore_screen(void far *buf[4]); 

int maxx, maxy; 

int main(void) 
{ 
int gdriver=DETECT, gmode, errorcode; 
void far *ptr[4]; 

/* auto-detect the graphics driver and mode */ 
initgraph(&gdriver, &gmode, ""); 
errorcode = graphresult(); /* check for any errors */ 
if (errorcode != grOk) 
{ 
printf("Graphics error: %s\n", grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
exit(1); 
} 
maxx = getmaxx(); 
maxy = getmaxy(); 

/* draw an image on the screen */ 
rectangle(0, 0, maxx, maxy); 
line(0, 0, maxx, maxy); 
line(0, maxy, maxx, 0); 

save_screen(ptr); /* save the current screen */ 
getch(); /* pause screen */ 
cleardevice(); /* clear screen */ 
restore_screen(ptr); /* restore the screen */ 
getch(); /* pause screen */ 

closegraph(); 
return 0; 
} 

void save_screen(void far *buf[4]) 
{ 
unsigned size; 
int ystart=0, yend, yincr, block; 

yincr = (maxy+1) / 4; 
yend = yincr; 
size = imagesize(0, ystart, maxx, yend); /* get byte size of image */ 

for (block=0; block<=3; block++) 
{ 
if ((buf[block] = farmalloc(size)) == NULL) 
{ 
closegraph(); 
printf("Error: not enough heap space in save_screen().\n"); 
exit(1); 
} 

getimage(0, ystart, maxx, yend, buf[block]); 
ystart = yend + 1; 
yend += yincr + 1; 
} 
} 

void save_screen(void far *buf[4]) 
{ 
unsigned size; 
int ystart=0, yend, yincr, block; 

yincr = (maxy+1) / 4; 
yend = yincr; 
size = imagesize(0, ystart, maxx, yend); /* get byte size of image */ 

for (block=0; block<=3; block++) 
{ 
if ((buf[block] = farmalloc(size)) == NULL) 
{ 
closegraph(); 
printf("Error: not enough heap space in save_screen().\n"); 
exit(1); 
} 

getimage(0, ystart, maxx, yend, buf[block]); 
ystart = yend + 1; 
yend += yincr + 1; 
} 
} 

void restore_screen(void far *buf[4]) 
{ 
int ystart=0, yend, yincr, block; 

yincr = (maxy+1) / 4; 
yend = yincr; 

for (block=0; block<=3; block++) 
{ 
putimage(0, ystart, buf[block], COPY_PUT); 
farfree(buf[block]); 
ystart = yend + 1; 
yend += yincr + 1; 
} 
} 



函数名: getlinesettings 
功 能: 取当前线型、模式和宽度 
用 法: void far getlinesettings(struct linesettingstype far *lininfo): 
程序例: 

#include <graphics.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 

/* the names of the line styles supported */ 
char *lname[] = { "SOLID_LINE", 
"DOTTED_LINE", 
"CENTER_LINE", 
"DASHED_LINE", 
"USERBIT_LINE" 
}; 

int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
struct linesettingstype lineinfo; 
int midx, midy; 
char lstyle[80], lpattern[80], lwidth[80]; 

/* 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; 

/* get information about current line settings */ 
getlinesettings(&lineinfo); 

/* convert line information into strings */ 
sprintf(lstyle, "%s is the line style.", 
lname[lineinfo.linestyle]); 
sprintf(lpattern, "0x%X is the user-defined line pattern.", 
lineinfo.upattern); 
sprintf(lwidth, "%d is the line thickness.", 
lineinfo.thickness); 

/* display the information */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -