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

📄 s.htm

📁 C语言函数库,包含所有的C语言函数
💻 HTM
📖 第 1 页 / 共 5 页
字号:
printf("Cntrl-brk flag is off\n"); 
return 0; 
} 


</PRE>
<PRE>函数名: <font size="5" color="#FF0000">setcolor</font> 
功 能: 设置当前画线颜色 
用 法: void far setcolor(int color); 
程序例: </PRE>
<PRE>#include 
#include 
#include 
#include </PRE>
<PRE>int main(void) 
{ 
/* select a driver and mode that supports */ 
/* multiple drawing colors. */ 
int gdriver = EGA, gmode = EGAHI, errorcode; 
int color, maxcolor, x, y; 
char msg[80]; </PRE>
<PRE>/* initialize graphics and local variables */ 
initgraph(&amp;gdriver, &amp;gmode, &quot;&quot;); </PRE>
<PRE>/* read result of initialization */ 
errorcode = graphresult(); 
if (errorcode != grOk) /* an error occurred */ 
{ 
printf(&quot;Graphics error: %s\n&quot;, grapherrormsg(errorcode)); 
printf(&quot;Press any key to halt:&quot;); 
getch(); 
exit(1); /* terminate with an error code */ 
} </PRE>
<PRE>/* maximum color index supported */ 
maxcolor = getmaxcolor(); </PRE>
<PRE>/* for centering text messages */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
x = getmaxx() / 2; 
y = getmaxy() / 2; </PRE>
<PRE>/* loop through the available colors */ 
for (color=1; color&lt;=maxcolor; color++) 
{ 
/* clear the screen */ 
cleardevice(); </PRE>
<PRE>/* select a new background color */ 
setcolor(color); </PRE>
<PRE>/* output a messsage */ 
sprintf(msg, &quot;Color: %d&quot;, color); 
outtextxy(x, y, msg); 
getch(); 
} </PRE>
<PRE>/* clean up */ 
closegraph(); 
return 0; 
} 

</PRE>
<PRE>函数名: <font size="5" color="#FF0000">setdate </font>
功 能: 设置DOS日期 
用 法: void setdate(struct date *dateblk); 
程序例: </PRE>
<PRE>#include 
#include 
#include </PRE>
<PRE>int main(void) 
{ 
struct date reset; 
struct date save_date; </PRE>
<PRE>getdate(&amp;save_date); 
printf(&quot;Original date:\n&quot;); 
system(&quot;date&quot;); </PRE>
<PRE>reset.da_year = 2001; 
reset.da_day = 1; 
reset.da_mon = 1; 
setdate(&amp;reset); </PRE>
<PRE>printf(&quot;Date after setting:\n&quot;); 
system(&quot;date&quot;); </PRE>
<PRE>setdate(&amp;save_date); 
printf(&quot;Back to original date:\n&quot;); 
system(&quot;date&quot;); </PRE>
<PRE>return 0; 
} 

</PRE>
<PRE>函数名: <font size="5" color="#FF0000">setdisk </font>
功 能: 设置当前磁盘驱动器 
用 法: int setdisk(int drive); 
程序例: </PRE>
<PRE>#include 
#include </PRE>
<PRE>int main(void) 
{ 
int save, disk, disks; </PRE>
<PRE>/* save original drive */ 
save = getdisk(); </PRE>
<PRE>/* print number of logic drives */ 
disks = setdisk(save); 
printf(&quot;%d logical drives on the system\n\n&quot;, disks); </PRE>
<PRE>/* print the drive letters available */ 
printf(&quot;Available drives:\n&quot;); 
for (disk = 0;disk &lt; 26;++disk) 
{ 
setdisk(disk); 
if (disk == getdisk()) 
printf(&quot;%c: drive is available\n&quot;, disk + 'a'); 
} 
setdisk(save); </PRE>
<PRE>return 0; 
} 

</PRE>
<PRE>函数名: <font size="5" color="#FF0000">setdta </font>
功 能: 设置磁盘传输区地址 
用 法: void setdta(char far *dta); 
程序例: </PRE>
<PRE>#include 
#include 
#include 
#include </PRE>
<PRE>int main(void) 
{ 
char line[80], far *save_dta; 
char buffer[256] = &quot;SETDTA test!&quot;; 
struct fcb blk; 
int result; </PRE>
<PRE>/* get new file name from user */ 
printf(&quot;Enter a file name to create:&quot;); 
gets(line); </PRE>
<PRE>/* parse the new file name to the dta */ 
parsfnm(line, &amp;blk, 1); 
printf(&quot;%d %s\n&quot;, blk.fcb_drive, blk.fcb_name); </PRE>
<PRE>/* request DOS services to create file */ 
if (bdosptr(0x16, &amp;blk, 0) == -1) 
{ 
perror(&quot;Error creating file&quot;); 
exit(1); 
} </PRE>
<PRE>/* save old dta and set new dta */ 
save_dta = getdta(); 
setdta(buffer); </PRE>
<PRE>/* write new records */ 
blk.fcb_recsize = 256; 
blk.fcb_random = 0L; 
result = randbwr(&amp;blk, 1); 
printf(&quot;result = %d\n&quot;, result); </PRE>
<PRE>if (!result) 
printf(&quot;Write OK\n&quot;); 
else 
{ 
perror(&quot;Disk error&quot;); 
exit(1); 
} </PRE>
<PRE>/* request DOS services to close the file */ 
if (bdosptr(0x10, &amp;blk, 0) == -1) 
{ 
perror(&quot;Error closing file&quot;); 
exit(1); 
} </PRE>
<PRE>/* reset the old dta */ 
setdta(save_dta); 
return 0; 
} 

</PRE>
<PRE>函数名: <font size="5" color="#FF0000">setfillpattern </font>
功 能: 选择用户定义的填充模式 
用 法: void far setfillpattern(char far *upattern, int color); 
程序例: </PRE>
<PRE>#include 
#include 
#include 
#include </PRE>
<PRE>int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int maxx, maxy; </PRE>
<PRE>/* a user defined fill pattern */ 
char pattern[8] = {0x00, 0x70, 0x20, 0x27, 0x24, 0x24, 0x07, 0x00}; </PRE>
<PRE>/* initialize graphics and local variables */ 
initgraph(&amp;gdriver, &amp;gmode, &quot;&quot;); </PRE>
<PRE>/* read result of initialization */ 
errorcode = graphresult(); 
if (errorcode != grOk) /* an error occurred */ 
{ 
printf(&quot;Graphics error: %s\n&quot;, grapherrormsg(errorcode)); 
printf(&quot;Press any key to halt:&quot;); 
getch(); 
exit(1); /* terminate with an error code */ 
} </PRE>
<PRE>maxx = getmaxx(); 
maxy = getmaxy(); 
setcolor(getmaxcolor()); </PRE>
<PRE>/* select a user defined fill pattern */ 
setfillpattern(pattern, getmaxcolor()); </PRE>
<PRE>/* fill the screen with the pattern */ 
bar(0, 0, maxx, maxy); </PRE>
<PRE>/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 

</PRE>
<PRE>函数名: <font size="5" color="#FF0000">setfillstyle </font>
功 能: 设置填充模式和颜色 
用 法: void far setfillstyle(int pattern, int color); 
程序例: </PRE>
<PRE>#include 
#include 
#include 
#include 
#include </PRE>
<PRE>/* the names of the fill styles supported */ 
char *fname[] = { &quot;EMPTY_FILL&quot;, 
&quot;SOLID_FILL&quot;, 
&quot;LINE_FILL&quot;, 
&quot;LTSLASH_FILL&quot;, 
&quot;SLASH_FILL&quot;, 
&quot;BKSLASH_FILL&quot;, 
&quot;LTBKSLASH_FILL&quot;, 
&quot;HATCH_FILL&quot;, 
&quot;XHATCH_FILL&quot;, 
&quot;INTERLEAVE_FILL&quot;, 
&quot;WIDE_DOT_FILL&quot;, 
&quot;CLOSE_DOT_FILL&quot;, 
&quot;USER_FILL&quot; 
}; </PRE>
<PRE>int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int style, midx, midy; 
char stylestr[40]; </PRE>
<PRE>/* initialize graphics and local variables */ 
initgraph(&amp;gdriver, &amp;gmode, &quot;&quot;); </PRE>
<PRE>/* read result of initialization */ 
errorcode = graphresult(); 
if (errorcode != grOk) /* an error occurred */ 
{ 
printf(&quot;Graphics error: %s\n&quot;, grapherrormsg(errorcode)); 
printf(&quot;Press any key to halt:&quot;); 
getch(); 
exit(1); /* terminate with an error code */ 
} </PRE>
<PRE>midx = getmaxx() / 2; 
midy = getmaxy() / 2; </PRE>
<PRE>for (style = EMPTY_FILL; style &lt; USER_FILL; style++) 
{ 
/* select the fill style */ 
setfillstyle(style, getmaxcolor()); </PRE>
<PRE>/* convert style into a string */ 
strcpy(stylestr, fname[style]); </PRE>
<PRE>/* fill a bar */ 
bar3d(0, 0, midx-10, midy, 0, 0); </PRE>
<PRE>/* output a message */ 
outtextxy(midx, midy, stylestr); </PRE>
<PRE>/* wait for a key */ 
getch(); 
cleardevice(); 
} </PRE>
<PRE>/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 

</PRE>
<PRE>函数名:<font size="5" color="#FF0000"> setftime </font>
功 能: 设置文件日期和时间 
用 法: int setftime(int handle, struct ftime *ftimep); 
程序例: </PRE>
<PRE>#include 
#include 
#include 
#include </PRE>
<PRE>int main(void) 
{ 
struct ftime filet; 
FILE *fp; </PRE>
<PRE>if ((fp = fopen(&quot;TEST.$$$&quot;, &quot;w&quot;)) == NULL) 
{ 
perror(&quot;Error:&quot;); 
exit(1); 
} </PRE>
<PRE>fprintf(fp, &quot;testing...\n&quot;); </PRE>
<PRE>/* load ftime structure with new time and date */ 
filet.ft_tsec = 1; 
filet.ft_min = 1; 
filet.ft_hour = 1; 
filet.ft_day = 1; 
filet.ft_month = 1; 
filet.ft_year = 21; </PRE>
<PRE>/* show current directory for time and date */ 
system(&quot;dir TEST.$$$&quot;); </PRE>
<PRE>/* change the time and date stamp*/ 
setftime(fileno(fp), &amp;filet); </PRE>
<PRE>/* close and remove the temporary file */ 
fclose(fp); </PRE>
<PRE>system(&quot;dir TEST.$$$&quot;); </PRE>
<PRE>unlink(&quot;TEST.$$$&quot;); 
return 0; 
} 

</PRE>
<PRE>函数名: <font size="5" color="#FF0000">setgraphbufsize </font>
功 能: 改变内部图形缓冲区的大小 
用 法: unsigned far setgraphbufsize(unsigned bufsize); 
程序例: </PRE>
<PRE>#include 
#include 
#include 
#include </PRE>
<PRE>#define BUFSIZE 1000 /* internal graphics buffer size */ </PRE>
<PRE>int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int x, y, oldsize; 
char msg[80]; </PRE>
<PRE>/* set the size of the internal graphics buffer */ 
/* before making a call to initgraph. */ 
oldsize = setgraphbufsize(BUFSIZE); </PRE>
<PRE>/* initialize graphics and local variables */ 
initgraph(&amp;gdriver, &amp;gmode, &quot;&quot;); </PRE>
<PRE>/* read result of initialization */ 
errorcode = graphresult(); 
if (errorcode != grOk) /* an error occurred */ 
{ 
printf(&quot;Graphics error: %s\n&quot;, grapherrormsg(errorcode)); 
printf(&quot;Press any key to halt:&quot;); 
getch(); 
exit(1); /* terminate with an error code */ 
} </PRE>
<PRE>x = getmaxx() / 2; 
y = getmaxy() / 2; </PRE>
<PRE>/* output some messages */ 
sprintf(msg, &quot;Graphics buffer size: %d&quot;, BUFSIZE); 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(x, y, msg); 
sprintf(msg, &quot;Old graphics buffer size: %d&quot;, oldsize); 
outtextxy(x, y+textheight(&quot;W&quot;), msg); </PRE>
<PRE>/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 


</PRE>
<PRE>函数名: <font size="5" color="#FF0000">setgraphmode </font>
功 能: 将系统设置成图形模式且清屏 
用 法: void far setgraphmode(int mode); 
程序例: </PRE>
<PRE>#include 
#include 
#include #include </PRE>
<PRE>int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int x, y; </PRE>
<PRE>/* initialize graphics and local variables */ 
initgraph(&amp;gdriver, &amp;gmode, &quot;&quot;); </PRE>
<PRE>/* read result of initialization */ 
errorcode = graphresult(); 
if (errorcode != grOk) /* an error occurred */ 
{ 
printf(&quot;Graphics error: %s\n&quot;, grapherrormsg(errorcode)); 
printf(&quot;Press any key to halt:&quot;); 
getch(); 
exit(1); /* terminate with an error code */ 
} </PRE>
<PRE>x = getmaxx() / 2; 
y = getmaxy() / 2; </PRE>
<PRE>/* output a message */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(x, y, &quot;Press any key to exit graphics:&quot;); 
getch(); </PRE>
<PRE>/* restore system to text mode */ 
restorecrtmode(); 
printf(&quot;We're now in text mode.\n&quot;); 
printf(&quot;Press any key to return to graphics mode:&quot;); 
getch(); </PRE>
<PRE>/* return to graphics mode */ 
setgraphmode(getgraphmode()); </PRE>
<PRE>/* output a message */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
outtextxy(x, y, &quot;We're back in graphics mode.&quot;); 
outtextxy(x, y+textheight(&quot;W&quot;), &quot;Press any key to halt:&quot;); </PRE>
<PRE>/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 


</PRE>
<PRE>函数名: <font size="5" color="#FF0000">setjmp </font>
功 能: 非局部转移 
用 法: int setjmp(jmp_buf env); 
程序例: </PRE>
<PRE>#include 
#include 
#include </PRE>
<PRE>void subroutine(void); </PRE>
<PRE>jmp_buf jumper; </PRE>
<PRE>int main(void) 
{ 
int value; </PRE>
<PRE>value = setjmp(jumper); 
if (value != 0) 
{ 
printf(&quot;Longjmp with value %d\n&quot;, value); 
exit(value); 
} 
printf(&quot;About to call subroutine ... \n&quot;); 
subroutine(); 
return 0; 
} </PRE>
<PRE>void subroutine(void) 
{ 
longjmp(jumper,1); 
} 

</PRE>
<PRE>函数名: <font size="5" color="#FF0000">setlinestyle </font>
功 能: 设置当前画线宽度和类型 
用 法: void far setlinestyle(int linestype, unsigned upattern); 
程序例: </PRE>
<PRE>#include 
#include 
#include 
#include 
#include </PRE>
<PRE>/* the names of the line styles supported */ 
char *lname[] = { 
&quot;SOLID_LINE&quot;, 
&quot;DOTTED_LINE&quot;, 
&quot;CENTER_LINE&quot;, 
&quot;DASHED_LINE&quot;, 
&quot;USERBIT_LINE&quot; 
}; </PRE>
<PRE>int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; </PRE>
<PRE>int style, midx, midy, userpat; 
char stylestr[40]; </PRE>

⌨️ 快捷键说明

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