韩冰 发表于 2004-10-4 02:55

函数大全(s开头)

<P><FONT color=#ff0000>函数名: sbrk </FONT>
功 能: 改变数据段空间位置
用 法: char *sbrk(int incr);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <ALLOC.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
printf("Changing allocation with sbrk()\n");
printf("Before sbrk() call: %lu bytes free\n",
(unsigned long) coreleft());
sbrk(1000);
printf(" After sbrk() call: %lu bytes free\n",
(unsigned long) coreleft());
return 0;
}

</FONT></P>
<P><FONT color=#ff0000>函数名: scanf </FONT>
功 能: 执行格式化输入
用 法: int scanf(char *format[,argument,...]);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char label;
char name;
int entries = 0;
int loop, age;
double salary; </FONT></P>
<P><FONT color=#0000ff>struct Entry_struct
{
char name;
int age;
float salary;
} entry; </FONT></P>
<P><FONT color=#0000ff>/* Input a label as a string of characters restricting to 20 characters */
printf("\n\nPlease enter a label for the chart: ");
scanf("%20s", label);
fflush(stdin); /* flush the input stream in case of bad input */ </FONT></P>
<P><FONT color=#0000ff>/* Input number of entries as an integer */
printf("How many entries will there be? (less than 20) ");
scanf("%d", &amp;entries);
fflush(stdin); /* flush the input stream in case of bad input */ </FONT></P>
<P><FONT color=#0000ff>/* input a name restricting input to only letters upper or lower case */
for (loop=0;loop<ENTRIES;++LOOP)
{
printf("Entry %d\n", loop);
printf(" Name : ");
scanf("%", entry.name);
fflush(stdin); /* flush the input stream in case of bad input */ </FONT></P>
<P><FONT color=#0000ff>/* input an age as an integer */
printf(" Age : ");
scanf("%d", &amp;entry.age);
fflush(stdin); /* flush the input stream in case of bad input */ </FONT></P>
<P><FONT color=#0000ff>/* input a salary as a float */
printf(" Salary : ");
scanf("%f", &amp;entry.salary);
fflush(stdin); /* flush the input stream in case of bad input */
} </FONT></P>
<P><FONT color=#0000ff>/* Input a name, age and salary as a string, integer, and double */
printf("\nPlease enter your name, age and salary\n");
scanf("%20s %d %lf", name, &amp;age, &amp;salary);
</FONT></P>
<P><FONT color=#0000ff>/* Print out the data that was input */
printf("\n\nTable %s\n",label);
printf("Compiled by %s age %d $%15.2lf\n", name, age, salary);
printf("-----------------------------------------------------\n");
for (loop=0;loop<ENTRIES;++LOOP)
printf("%4d | %-20s | %5d | %15.2lf\n",
loop + 1,
entry.name,
entry.age,
entry.salary);
printf("-----------------------------------------------------\n");
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: searchpath </FONT>
功 能: 搜索DOS路径
用 法: char *searchpath(char *filename);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <DIR.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *p; </FONT></P>
<P><FONT color=#0000ff>/* Looks for TLINK and returns a pointer
to the path */
p = searchpath("TLINK.EXE");
printf("Search for TLINK.EXE : %s\n", p); </FONT></P>
<P><FONT color=#0000ff>/* Looks for non-existent file */
p = searchpath("NOTEXIST.FIL");
printf("Search for NOTEXIST.FIL : %s\n", p); </FONT></P>
<P><FONT color=#0000ff>return 0;
}

</FONT></P>
<P><FONT color=#ff0000>函数名: sector </FONT>
功 能: 画并填充椭圆扇区
用 法: void far sector(int x, int y, int stangle, int endangle);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int midx, midy, i;
int stangle = 45, endangle = 135;
int xrad = 100, yrad = 50; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>midx = getmaxx() / 2;
midy = getmaxy() / 2; </FONT></P>
<P><FONT color=#0000ff>/* loop through the fill patterns */
for (i=EMPTY_FILL; i<USER_FILL; <br i++)> {
/* set the fill style */
setfillstyle(i, getmaxcolor()); </FONT></P>
<P><FONT color=#0000ff>/* draw the sector slice */
sector(midx, midy, stangle, endangle, xrad, yrad); </FONT></P>
<P><FONT color=#0000ff>getch();
} </FONT></P>
<P><FONT color=#0000ff>/* clean up */
closegraph();
return 0;
}
</FONT></P>
<P><FONT color=#ff0000>函数名: segread </FONT>
功 能: 读段寄存器值
用 法: void segread(struct SREGS *segtbl);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <DOS.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
struct SREGS segs; </FONT></P>
<P><FONT color=#0000ff>segread(&amp;segs);
printf("Current segment register settings\n\n");
printf("CS: %X DS: %X\n", segs.cs, segs.ds);
printf("ES: %X SS: %X\n", segs.es, segs.ss); </FONT></P>
<P><FONT color=#0000ff>return 0;
} </FONT>

</P>
<P><FONT color=#ff0000>函数名: setactivepage </FONT>
功 能: 设置图形输出活动页
用 法: void far setactivepage(int pagenum);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* select a driver and mode that supports */
/* multiple pages. */
int gdriver = EGA, gmode = EGAHI, errorcode;
int x, y, ht; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>x = getmaxx() / 2;
y = getmaxy() / 2;
ht = textheight("W"); </FONT></P>
<P><FONT color=#0000ff>/* select the off screen page for drawing */
setactivepage(1); </FONT></P>
<P><FONT color=#0000ff>/* draw a line on page #1 */
line(0, 0, getmaxx(), getmaxy()); </FONT></P>
<P><FONT color=#0000ff>/* output a message on page #1 */
settextjustify(CENTER_TEXT, CENTER_TEXT);
outtextxy(x, y, "This is page #1:");
outtextxy(x, y+ht, "Press any key to halt:"); </FONT></P>
<P><FONT color=#0000ff>/* select drawing to page #0 */
setactivepage(0); </FONT></P>
<P><FONT color=#0000ff>/* output a message on page #0 */
outtextxy(x, y, "This is page #0.");
outtextxy(x, y+ht, "Press any key to view page #1:");
getch(); </FONT></P>
<P><FONT color=#0000ff>/* select page #1 as the visible page */
setvisualpage(1); </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: setallpallette </FONT>
功 能: 按指定方式改变所有的调色板颜色
用 法: void far setallpallette(struct palette, far *pallette);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
struct palettetype pal;
int color, maxcolor, ht;
int y = 10;
char msg; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>maxcolor = getmaxcolor();
ht = 2 * textheight("W"); </FONT></P>
<P><FONT color=#0000ff>/* grab a copy of the palette */
getpalette(&amp;pal); </FONT></P>
<P><FONT color=#0000ff>/* display the default palette colors */
for (color=1; color&lt;=maxcolor; color++)
{
setcolor(color);
sprintf(msg, "Color: %d", color);
outtextxy(1, y, msg);
y += ht;
} </FONT></P>
<P><FONT color=#0000ff>/* wait for a key */
getch(); </FONT></P>
<P><FONT color=#0000ff>/* black out the colors one by one */
for (color=1; color&lt;=maxcolor; color++)
{
setpalette(color, BLACK);
getch();
} </FONT></P>
<P><FONT color=#0000ff>/* restore the palette colors */
setallpalette(&amp;pal); </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
}

</FONT></P>
<P><FONT color=#ff0000>函数名: setaspectratio </FONT>
功 能: 设置图形纵横比
用 法: void far setaspectratio(int xasp, int yasp);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int xasp, yasp, midx, midy; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>midx = getmaxx() / 2;
midy = getmaxy() / 2;
setcolor(getmaxcolor()); </FONT></P>
<P><FONT color=#0000ff>/* get current aspect ratio settings */
getaspectratio(&amp;xasp, &amp;yasp); </FONT></P>
<P><FONT color=#0000ff>/* draw normal circle */
circle(midx, midy, 100);
getch(); </FONT></P>
<P><FONT color=#0000ff>/* claer the screen */
cleardevice(); </FONT></P>
<P><FONT color=#0000ff>/* adjust the aspect for a wide circle */
setaspectratio(xasp/2, yasp);
circle(midx, midy, 100);
getch(); </FONT></P>
<P><FONT color=#0000ff>/* adjust the aspect for a narrow circle */
cleardevice();
setaspectratio(xasp, yasp/2);
circle(midx, midy, 100); </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: setbkcolor </FONT>
功 能: 用调色板设置当前背景颜色
用 法: void far setbkcolor(int color);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* select a driver and mode that supports */
/* multiple background colors. */
int gdriver = EGA, gmode = EGAHI, errorcode;
int bkcol, maxcolor, x, y;
char msg; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>/* maximum color index supported */
maxcolor = getmaxcolor(); </FONT></P>
<P><FONT color=#0000ff>/* for centering text messages */
settextjustify(CENTER_TEXT, CENTER_TEXT);
x = getmaxx() / 2;
y = getmaxy() / 2; </FONT></P>
<P><FONT color=#0000ff>/* loop through the available colors */
for (bkcol=0; bkcol&lt;=maxcolor; bkcol++)
{
/* clear the screen */
cleardevice(); </FONT></P>
<P><FONT color=#0000ff>/* select a new background color */
setbkcolor(bkcol); </FONT></P>
<P><FONT color=#0000ff>/* output a messsage */
if (bkcol == WHITE)
setcolor(EGA_BLUE);
sprintf(msg, "Background color: %d", bkcol);
outtextxy(x, y, msg);
getch();
} </FONT></P>
<P><FONT color=#0000ff>/* clean up */
closegraph();
return 0;
} </FONT>

</P>
<P><FONT color=#ff0000>函数名: setblock </FONT>
功 能: 修改先前已分配的DOS存储段大小
用 法: int setblock(int seg, int newsize);
程序例: </P>
<P><FONT color=#0000ff>#include <DOS.H>
#include <ALLOC.H>
#include <STDIO.H>
#include <STDLIB.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
unsigned int size, segp;
int stat; </FONT></P>
<P><FONT color=#0000ff>size = 64; /* (64 x 16) = 1024 bytes */
stat = allocmem(size, &amp;segp);
if (stat == -1)
printf("Allocated memory at segment: %X\n", segp);
else
{
printf("Failed: maximum number of paragraphs available is %d\n",
stat);
exit(1);
} </FONT></P>
<P><FONT color=#0000ff>stat = setblock(segp, size * 2);
if (stat == -1)
printf("Expanded memory block at segment: %X\n", segp);
else
printf("Failed: maximum number of paragraphs available is %d\n",
stat); </FONT></P>
<P><FONT color=#0000ff>freemem(segp); </FONT></P>
<P><FONT color=#0000ff>return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: setbuf </FONT>
功 能: 把缓冲区与流相联
用 法: void setbuf(FILE *steam, char *buf);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>/* BUFSIZ is defined in stdio.h */
char outbuf; </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* attach a buffer to the standard output stream */
setbuf(stdout, outbuf); </FONT></P>
<P><FONT color=#0000ff>/* put some characters into the buffer */
puts("This is a test of buffered output.\n\n");
puts("This output will go into outbuf\n");
puts("and won't appear until the buffer\n");
puts("fills up or we flush the stream.\n"); </FONT></P>
<P><FONT color=#0000ff>/* flush the output buffer */
fflush(stdout); </FONT></P>
<P><FONT color=#0000ff>return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: setcbrk</FONT>
功 能: 设置Control-break
用 法: int setcbrk(int value);
程序例: </P>
<P><FONT color=#0000ff>#include <DOS.H>
#include <CONIO.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int break_flag; </FONT></P>
<P><FONT color=#0000ff>printf("Enter 0 to turn control break off\n");
printf("Enter 1 to turn control break on\n"); </FONT></P>
<P><FONT color=#0000ff>break_flag = getch() - 0; </FONT></P>
<P><FONT color=#0000ff>setcbrk(break_flag); </FONT></P>
<P><FONT color=#0000ff>if (getcbrk())
printf("Cntrl-brk flag is on\n");
else
printf("Cntrl-brk flag is off\n");
return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: setcolor</FONT>
功 能: 设置当前画线颜色
用 法: void far setcolor(int color);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>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; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>/* maximum color index supported */
maxcolor = getmaxcolor(); </FONT></P>
<P><FONT color=#0000ff>/* for centering text messages */
settextjustify(CENTER_TEXT, CENTER_TEXT);
x = getmaxx() / 2;
y = getmaxy() / 2; </FONT></P>
<P><FONT color=#0000ff>/* loop through the available colors */
for (color=1; color&lt;=maxcolor; color++)
{
/* clear the screen */
cleardevice(); </FONT></P>
<P><FONT color=#0000ff>/* select a new background color */
setcolor(color); </FONT></P>
<P><FONT color=#0000ff>/* output a messsage */
sprintf(msg, "Color: %d", color);
outtextxy(x, y, msg);
getch();
} </FONT></P>
<P><FONT color=#0000ff>/* clean up */
closegraph();
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: setdate </FONT>
功 能: 设置DOS日期
用 法: void setdate(struct date *dateblk);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <PROCESS.H>
#include <DOS.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
struct date reset;
struct date save_date; </FONT></P>
<P><FONT color=#0000ff>getdate(&amp;save_date);
printf("Original date:\n");
system("date"); </FONT></P>
<P><FONT color=#0000ff>reset.da_year = 2001;
reset.da_day = 1;
reset.da_mon = 1;
setdate(&amp;reset); </FONT></P>
<P><FONT color=#0000ff>printf("Date after setting:\n");
system("date"); </FONT></P>
<P><FONT color=#0000ff>setdate(&amp;save_date);
printf("Back to original date:\n");
system("date"); </FONT></P>
<P><FONT color=#0000ff>return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: setdisk </FONT>
功 能: 设置当前磁盘驱动器
用 法: int setdisk(int drive);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <DIR.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int save, disk, disks; </FONT></P>
<P><FONT color=#0000ff>/* save original drive */
save = getdisk(); </FONT></P>
<P><FONT color=#0000ff>/* print number of logic drives */
disks = setdisk(save);
printf("%d logical drives on the system\n\n", disks); </FONT></P>
<P><FONT color=#0000ff>/* print the drive letters available */
printf("Available drives:\n");
for (disk = 0;disk &lt; 26;++disk)
{
setdisk(disk);
if (disk == getdisk())
printf("%c: drive is available\n", disk + 'a');
}
setdisk(save); </FONT></P>
<P><FONT color=#0000ff>return 0;
} </FONT>

</P>
<P><FONT color=#ff0000>函数名: setdta </FONT>
功 能: 设置磁盘传输区地址
用 法: void setdta(char far *dta);
程序例: </P>
<P><FONT color=#0000ff>#include <PROCESS.H>
#include <STRING.H>
#include <STDIO.H>
#include <DOS.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char line, far *save_dta;
char buffer = "SETDTA test!";
struct fcb blk;
int result; </FONT></P>
<P><FONT color=#0000ff>/* get new file name from user */
printf("Enter a file name to create:");
gets(line); </FONT></P>
<P><FONT color=#0000ff>/* parse the new file name to the dta */
parsfnm(line, &amp;blk, 1);
printf("%d %s\n", blk.fcb_drive, blk.fcb_name); </FONT></P>
<P><FONT color=#0000ff>/* request DOS services to create file */
if (bdosptr(0x16, &amp;blk, 0) == -1)
{
perror("Error creating file");
exit(1);
} </FONT></P>
<P><FONT color=#0000ff>/* save old dta and set new dta */
save_dta = getdta();
setdta(buffer); </FONT></P>
<P><FONT color=#0000ff>/* write new records */
blk.fcb_recsize = 256;
blk.fcb_random = 0L;
result = randbwr(&amp;blk, 1);
printf("result = %d\n", result); </FONT></P>
<P><FONT color=#0000ff>if (!result)
printf("Write OK\n");
else
{
perror("Disk error");
exit(1);
} </FONT></P>
<P><FONT color=#0000ff>/* request DOS services to close the file */
if (bdosptr(0x10, &amp;blk, 0) == -1)
{
perror("Error closing file");
exit(1);
} </FONT></P>
<P><FONT color=#0000ff>/* reset the old dta */
setdta(save_dta);
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: setfillpattern </FONT>
功 能: 选择用户定义的填充模式
用 法: void far setfillpattern(char far *upattern, int color);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int maxx, maxy; </FONT></P>
<P><FONT color=#0000ff>/* a user defined fill pattern */
char pattern = {0x00, 0x70, 0x20, 0x27, 0x24, 0x24, 0x07, 0x00}; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>maxx = getmaxx();
maxy = getmaxy();
setcolor(getmaxcolor()); </FONT></P>
<P><FONT color=#0000ff>/* select a user defined fill pattern */
setfillpattern(pattern, getmaxcolor()); </FONT></P>
<P><FONT color=#0000ff>/* fill the screen with the pattern */
bar(0, 0, maxx, maxy); </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: setfillstyle </FONT>
功 能: 设置填充模式和颜色
用 法: void far setfillstyle(int pattern, int color);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STRING.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>/* 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"
}; </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int style, midx, midy;
char stylestr; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>midx = getmaxx() / 2;
midy = getmaxy() / 2; </FONT></P>
<P><FONT color=#0000ff>for (style = EMPTY_FILL; style &lt; USER_FILL; style++)
{
/* select the fill style */
setfillstyle(style, getmaxcolor()); </FONT></P>
<P><FONT color=#0000ff>/* convert style into a string */
strcpy(stylestr, fname); </FONT></P>
<P><FONT color=#0000ff>/* fill a bar */
bar3d(0, 0, midx-10, midy, 0, 0); </FONT></P>
<P><FONT color=#0000ff>/* output a message */
outtextxy(midx, midy, stylestr); </FONT></P>
<P><FONT color=#0000ff>/* wait for a key */
getch();
cleardevice();
} </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
} </FONT>

</P>
<P><FONT color=#ff0000>函数名: setftime </FONT>
功 能: 设置文件日期和时间
用 法: int setftime(int handle, struct ftime *ftimep);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <PROCESS.H>
#include <FCNTL.H>
#include <IO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
struct ftime filet;
FILE *fp; </FONT></P>
<P><FONT color=#0000ff>if ((fp = fopen("TEST.$$$", "w")) == NULL)
{
perror("Error:");
exit(1);
} </FONT></P>
<P><FONT color=#0000ff>fprintf(fp, "testing...\n"); </FONT></P>
<P><FONT color=#0000ff>/* 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; </FONT></P>
<P><FONT color=#0000ff>/* show current directory for time and date */
system("dir TEST.$$$"); </FONT></P>
<P><FONT color=#0000ff>/* change the time and date stamp*/
setftime(fileno(fp), &amp;filet); </FONT></P>
<P><FONT color=#0000ff>/* close and remove the temporary file */
fclose(fp); </FONT></P>
<P><FONT color=#0000ff>system("dir TEST.$$$"); </FONT></P>
<P><FONT color=#0000ff>unlink("TEST.$$$");
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: setgraphbufsize </FONT>
功 能: 改变内部图形缓冲区的大小
用 法: unsigned far setgraphbufsize(unsigned bufsize);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>#define BUFSIZE 1000 /* internal graphics buffer size */ </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int x, y, oldsize;
char msg; </FONT></P>
<P><FONT color=#0000ff>/* set the size of the internal graphics buffer */
/* before making a call to initgraph. */
oldsize = setgraphbufsize(BUFSIZE); </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>x = getmaxx() / 2;
y = getmaxy() / 2; </FONT></P>
<P><FONT color=#0000ff>/* output some messages */
sprintf(msg, "Graphics buffer size: %d", BUFSIZE);
settextjustify(CENTER_TEXT, CENTER_TEXT);
outtextxy(x, y, msg);
sprintf(msg, "Old graphics buffer size: %d", oldsize);
outtextxy(x, y+textheight("W"), msg); </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
}


</FONT></P>
<P><FONT color=#ff0000>函数名: setgraphmode </FONT>
功 能: 将系统设置成图形模式且清屏
用 法: void far setgraphmode(int mode);
程序例:

<FONT color=#0000ff>#include <STDLIB.H>
#include <STDIO.H>
#include <GRAPHICS.H>#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int x, y; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>x = getmaxx() / 2;
y = getmaxy() / 2; </FONT></P>
<P><FONT color=#0000ff>/* output a message */
settextjustify(CENTER_TEXT, CENTER_TEXT);
outtextxy(x, y, "Press any key to exit graphics:");
getch(); </FONT></P>
<P><FONT color=#0000ff>/* restore system to text mode */
restorecrtmode();
printf("We're now in text mode.\n");
printf("Press any key to return to graphics mode:");
getch(); </FONT></P>
<P><FONT color=#0000ff>/* return to graphics mode */
setgraphmode(getgraphmode()); </FONT></P>
<P><FONT color=#0000ff>/* output a message */
settextjustify(CENTER_TEXT, CENTER_TEXT);
outtextxy(x, y, "We're back in graphics mode.");
outtextxy(x, y+textheight("W"), "Press any key to halt:"); </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
}


</FONT><FONT color=#ff0000></FONT></P>
<P><FONT color=#ff0000>函数名: setjmp </FONT>
功 能: 非局部转移
用 法: int setjmp(jmp_buf env);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <PROCESS.H>
#include <SETJMP.H></FONT></P>
<P><FONT color=#0000ff>void subroutine(void); </FONT></P>
<P><FONT color=#0000ff>jmp_buf jumper; </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int value; </FONT></P>
<P><FONT color=#0000ff>value = setjmp(jumper);
if (value != 0)
{
printf("Longjmp with value %d\n", value);
exit(value);
}
printf("About to call subroutine ... \n");
subroutine();
return 0;
} </FONT></P>
<P><FONT color=#0000ff>void subroutine(void)
{
longjmp(jumper,1);
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: setlinestyle </FONT>
功 能: 设置当前画线宽度和类型
用 法: void far setlinestyle(int linestype, unsigned upattern);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STRING.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>/* the names of the line styles supported */
char *lname[] = {
"SOLID_LINE",
"DOTTED_LINE",
"CENTER_LINE",
"DASHED_LINE",
"USERBIT_LINE"
}; </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode; </FONT></P>
<P><FONT color=#0000ff>int style, midx, midy, userpat;
char stylestr; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>midx = getmaxx() / 2;
midy = getmaxy() / 2; </FONT></P>
<P><FONT color=#0000ff>/* a user defined line pattern */
/* binary: "0000000000000001" */
userpat = 1; </FONT></P>
<P><FONT color=#0000ff>for (style=SOLID_LINE; style&lt;=USERBIT_LINE; style++)
{
/* select the line style */
setlinestyle(style, userpat, 1); </FONT></P>
<P><FONT color=#0000ff>/* convert style into a string */
strcpy(stylestr, lname); </FONT></P>
<P><FONT color=#0000ff>/* draw a line */
line(0, 0, midx-10, midy); </FONT></P>
<P><FONT color=#0000ff>/* draw a rectangle */
rectangle(0, 0, getmaxx(), getmaxy()); </FONT></P>
<P><FONT color=#0000ff>/* output a message */
outtextxy(midx, midy, stylestr); </FONT></P>
<P><FONT color=#0000ff>/* wait for a key */
getch();
cleardevice();
} </FONT></P>
<P><FONT color=#0000ff>/* clean up */
closegraph();
return 0;
} </FONT>


</P>
<P><FONT color=#ff0000>函数名: setmem </FONT>
功 能: 存值到存储区
用 法: void setmem(void *addr, int len, char value);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <ALLOC.H>
#include <MEM.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *dest; </FONT></P>
<P><FONT color=#0000ff>dest = calloc(21, sizeof(char));
setmem(dest, 20, 'c');
printf("%s\n", dest); </FONT></P>
<P><FONT color=#0000ff>return 0;
} </FONT>


</P>
<P><FONT color=#ff0000>函数名: setmode </FONT>
功 能: 设置打开文件方式
用 法: int setmode(int handle, unsigned mode);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <FCNTL.H>
#include <IO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int result; </FONT></P>
<P><FONT color=#0000ff>result = setmode(fileno(stdprn), O_TEXT);
if (result == -1)
perror("Mode not available\n");
else
printf("Mode successfully switched\n");
return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: setpalette </FONT>
功 能: 改变调色板的颜色
用 法: void far setpalette(int index, int actural_color);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int color, maxcolor, ht;
int y = 10;
char msg; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>maxcolor = getmaxcolor();
ht = 2 * textheight("W"); </FONT></P>
<P><FONT color=#0000ff>/* display the default colors */
for (color=1; color&lt;=maxcolor; color++)
{
setcolor(color);
sprintf(msg, "Color: %d", color);
outtextxy(1, y, msg);
y += ht;
} </FONT></P>
<P><FONT color=#0000ff>/* wait for a key */
getch(); </FONT></P>
<P><FONT color=#0000ff>/* black out the colors one by one */
for (color=1; color&lt;=maxcolor; color++)
{
setpalette(color, BLACK);
getch();
} </FONT></P>
<P><FONT color=#0000ff>/* clean up */
closegraph();
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: setrgbpalette </FONT>
功 能: 定义IBM8514图形卡的颜色
用 法: void far setrgbpalette(int colornum, int red, int green, int blue);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* select a driver and mode that supports the use */
/* of the setrgbpalette function. */
int gdriver = VGA, gmode = VGAHI, errorcode;
struct palettetype pal;
int i, ht, y, xmax; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>/* grab a copy of the palette */
getpalette(&amp;pal); </FONT></P>
<P><FONT color=#0000ff>/* create gray scale */
for (i=0; i<PAL.SIZE; <br i++)> setrgbpalette(pal.colors, i*4, i*4, i*4); </FONT></P>
<P><FONT color=#0000ff>/* display the gray scale */
ht = getmaxy() / 16;
xmax = getmaxx();
y = 0;
for (i=0; i<PAL.SIZE; <br i++)> {
setfillstyle(SOLID_FILL, i);
bar(0, y, xmax, y+ht);
y += ht;
} </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
}
</FONT>

</P>
<P><FONT color=#ff0000>函数名: settextjustify </FONT>
功 能: 为图形函数设置文本的对齐方式
用 法: void far settextjustify(int horiz, int vert);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>/* function prototype */
void xat(int x, int y); </FONT></P>
<P><FONT color=#0000ff>/* horizontal text justification settings */
char *hjust[] = { "LEFT_TEXT",
"CENTER_TEXT",
"RIGHT_TEXT"
}; </FONT></P>
<P><FONT color=#0000ff>/* vertical text justification settings */
char *vjust[] = { "LEFT_TEXT",
"CENTER_TEXT",
"RIGHT_TEXT"
}; </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int midx, midy, hj, vj;
char msg; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>midx = getmaxx() / 2;
midy = getmaxy() / 2; </FONT></P>
<P><FONT color=#0000ff>/* loop through text justifications */
for (hj=LEFT_TEXT; hj&lt;=RIGHT_TEXT; hj++)
for (vj=LEFT_TEXT; vj&lt;=RIGHT_TEXT; vj++)
{
cleardevice();
/* set the text justification */
settextjustify(hj, vj); </FONT></P>
<P><FONT color=#0000ff>/* create a message string */
sprintf(msg, "%s %s", hjust, vjust); </FONT></P>
<P><FONT color=#0000ff>/* create cross hairs on the screen */
xat(midx, midy); </FONT></P>
<P><FONT color=#0000ff>/* output the message */
outtextxy(midx, midy, msg);
getch();
} </FONT></P>
<P><FONT color=#0000ff>/* clean up */
closegraph();
return 0;
} </FONT></P>
<P><FONT color=#0000ff>/* draw an "x" at (x, y) */
void xat(int x, int y)
{
line(x-4, y, x+4, y);
line(x, y-4, x, y+4);
} </FONT>

</P>
<P><FONT color=#ff0000>函数名: settextstyle </FONT>
功 能: 为图形输出设置当前的文本属性
用 法: void far settextstyle (int font, int direction, char size);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>/* the names of the text styles supported */
char *fname[] = { "DEFAULT font",
"TRIPLEX font",
"SMALL font",
"SANS SERIF font",
"GOTHIC font"
}; </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int style, midx, midy;
int size = 1; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>midx = getmaxx() / 2;
midy = getmaxy() / 2; </FONT></P>
<P><FONT color=#0000ff>settextjustify(CENTER_TEXT, CENTER_TEXT); </FONT></P>
<P><FONT color=#0000ff>/* loop through the available text styles */
for (style=DEFAULT_FONT; style&lt;=GOTHIC_FONT; style++)
{
cleardevice();
if (style == TRIPLEX_FONT)
size = 4; </FONT></P>
<P><FONT color=#0000ff>/* select the text style */
settextstyle(style, HORIZ_DIR, size); </FONT></P>
<P><FONT color=#0000ff>/* output a message */
outtextxy(midx, midy, fname);
getch();
} </FONT></P>
<P><FONT color=#0000ff>/* clean up */
closegraph();
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: settextstyle </FONT>
功 能: 为图形输出设置当前的文本属性
用 法: void far settextstyle (int font, int direction, char size);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>/* the names of the text styles supported */
char *fname[] = { "DEFAULT font",
"TRIPLEX font",
"SMALL font",
"SANS SERIF font",
"GOTHIC font"
}; </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int style, midx, midy;
int size = 1; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>midx = getmaxx() / 2;
midy = getmaxy() / 2; </FONT></P>
<P><FONT color=#0000ff>settextjustify(CENTER_TEXT, CENTER_TEXT); </FONT></P>
<P><FONT color=#0000ff>/* loop through the available text styles */
for (style=DEFAULT_FONT; style&lt;=GOTHIC_FONT; style++)
{
cleardevice();
if (style == TRIPLEX_FONT)
size = 4; </FONT></P>
<P><FONT color=#0000ff>/* select the text style */
settextstyle(style, HORIZ_DIR, size); </FONT></P>
<P><FONT color=#0000ff>/* output a message */
outtextxy(midx, midy, fname);
getch();
} </FONT></P>
<P><FONT color=#0000ff>/* clean up */
closegraph();
return 0;
} </FONT>

</P>
<P><FONT color=#ff0000>函数名: settime </FONT>
功 能: 设置系统时间
用 法: void settime(struct time *timep);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <DOS.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
struct time t; </FONT></P>
<P><FONT color=#0000ff>gettime(&amp;t);
printf("The current minute is: %d\n", t.ti_min);
printf("The current hour is: %d\n", t.ti_hour);
printf("The current hundredth of a second is: %d\n", t.ti_hund);
printf("The current second is: %d\n", t.ti_sec); </FONT></P>
<P><FONT color=#0000ff>/* Add one to the minutes struct element and then call settime */
t.ti_min++;
settime(&amp;t); </FONT></P>
<P><FONT color=#0000ff>return 0;
} </FONT>

</P>
<P><FONT color=#ff0000>函数名: setusercharsize </FONT>
功 能: 为矢量字体改变字符宽度和高度
用 法: void far setusercharsize(int multx, int dirx, int multy, int diry);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request autodetection */
int gdriver = DETECT, gmode, errorcode; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>/* select a text style */
settextstyle(TRIPLEX_FONT, HORIZ_DIR, 4); </FONT></P>
<P><FONT color=#0000ff>/* move to the text starting position */
moveto(0, getmaxy() / 2); </FONT></P>
<P><FONT color=#0000ff>/* output some normal text */
outtext("Norm "); </FONT></P>
<P><FONT color=#0000ff>/* make the text 1/3 the normal width */
setusercharsize(1, 3, 1, 1);
outtext("Short "); </FONT></P>
<P><FONT color=#0000ff>/* make the text 3 times normal width */
setusercharsize(3, 1, 1, 1);
outtext("Wide"); </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
} </FONT>
</P>
<P><FONT color=#ff0000>函数名: setvbuf </FONT>
功 能: 把缓冲区与流相关
用 法: int setvbuf(FILE *stream, char *buf, int type, unsigned size);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
FILE *input, *output;
char bufr; </FONT></P>
<P><FONT color=#0000ff>input = fopen("file.in", "r+b");
output = fopen("file.out", "w"); </FONT></P>
<P><FONT color=#0000ff>/* set up input stream for minimal disk access,
using our own character buffer */
if (setvbuf(input, bufr, _IOFBF, 512) != 0)
printf("failed to set up buffer for input file\n");
else
printf("buffer set up for input file\n"); </FONT></P>
<P><FONT color=#0000ff>/* set up output stream for line buffering using space that
will be obtained through an indirect call to malloc */
if (setvbuf(output, NULL, _IOLBF, 132) != 0)
printf("failed to set up buffer for output file\n");
else
printf("buffer set up for output file\n"); </FONT></P>
<P><FONT color=#0000ff>/* perform file I/O here */ </FONT></P>
<P><FONT color=#0000ff>/* close files */
fclose(input);
fclose(output);
return 0;
}
</FONT>

</P>
<P><FONT color=#ff0000>函数名: setvect </FONT>
功 能: 设置中断矢量入口
用 法: void setvect(int intr_num, void interrupt(*isr)());
程序例: </P>
<P><FONT color=#0000ff>/***NOTE:
This is an interrupt service routine. You can NOT compile this
program with Test Stack Overflow turned on and get an executable
file which will operate correctly. */ </FONT></P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <DOS.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>#define INTR 0X1C /* The clock tick interrupt */ </FONT></P>
<P><FONT color=#0000ff>void interrupt ( *oldhandler)(void); </FONT></P>
<P><FONT color=#0000ff>int count=0; </FONT></P>
<P><FONT color=#0000ff>void interrupt handler(void)
{
/* increase the global counter */
count++; </FONT></P>
<P><FONT color=#0000ff>/* call the old routine */
oldhandler();
} </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* save the old interrupt vector */
oldhandler = getvect(INTR); </FONT></P>
<P><FONT color=#0000ff>/* install the new interrupt handler */
setvect(INTR, handler); </FONT></P>
<P><FONT color=#0000ff>/* loop until the counter exceeds 20 */
while (count &lt; 20)
printf("count is %d\n",count); </FONT></P>
<P><FONT color=#0000ff>/* reset the old interrupt handler */
setvect(INTR, oldhandler); </FONT></P>
<P><FONT color=#0000ff>return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: setverify </FONT>
功 能: 设置验证状态
用 法: void setverify(int value);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <CONIO.H>
#include <DOS.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int verify_flag; </FONT></P>
<P><FONT color=#0000ff>printf("Enter 0 to set verify flag off\n");
printf("Enter 1 to set verify flag on\n"); </FONT></P>
<P><FONT color=#0000ff>verify_flag = getch() - 0; </FONT></P>
<P><FONT color=#0000ff>setverify(verify_flag); </FONT></P>
<P><FONT color=#0000ff>if (getverify())
printf("DOS verify flag is on\n");
else
printf("DOS verify flag is off\n"); </FONT></P>
<P><FONT color=#0000ff>return 0;
}
<FONT color=#ff0000>
</FONT></FONT></P>
<P><FONT color=#ff0000>函数名: setviewport </FONT>
功 能: 为图形输出设置当前视口
用 法: void far setviewport(int left, int top, int right,
int bottom, int clipflag);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>#define CLIP_ON 1 /* activates clipping in viewport */ </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>setcolor(getmaxcolor()); </FONT></P>
<P><FONT color=#0000ff>/* message in default full-screen viewport */
outtextxy(0, 0, "* &lt;-- (0, 0) in default viewport"); </FONT></P>
<P><FONT color=#0000ff>/* create a smaller viewport */
setviewport(50, 50, getmaxx()-50, getmaxy()-50, CLIP_ON); </FONT></P>
<P><FONT color=#0000ff>/* display some text */
outtextxy(0, 0, "* &lt;-- (0, 0) in smaller viewport"); </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: setvisualpage </FONT>
功 能: 设置可见图形页号
用 法: void far setvisualpage(int pagenum);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
/* select a driver and mode that supports */
/* multiple pages. */
int gdriver = EGA, gmode = EGAHI, errorcode;
int x, y, ht; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>x = getmaxx() / 2;
y = getmaxy() / 2;
ht = textheight("W"); </FONT></P>
<P><FONT color=#0000ff>/* select the off screen page for drawing */
setactivepage(1); </FONT></P>
<P><FONT color=#0000ff>/* draw a line on page #1 */
line(0, 0, getmaxx(), getmaxy()); </FONT></P>
<P><FONT color=#0000ff>/* output a message on page #1 */
settextjustify(CENTER_TEXT, CENTER_TEXT);
outtextxy(x, y, "This is page #1:");
outtextxy(x, y+ht, "Press any key to halt:"); </FONT></P>
<P><FONT color=#0000ff>/* select drawing to page #0 */
setactivepage(0); </FONT></P>
<P><FONT color=#0000ff>/* output a message on page #0 */
outtextxy(x, y, "This is page #0.");
outtextxy(x, y+ht, "Press any key to view page #1:");
getch(); </FONT></P>
<P><FONT color=#0000ff>/* select page #1 as the visible page */
setvisualpage(1); </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
} </FONT>

</P>
<P><FONT color=#ff0000>函数名: setwritemode </FONT>
功 能: 设置图形方式下画线的输出模式
用 法: void far setwritemode(int mode);
程序例: </P>
<P><FONT color=#0000ff>#include <GRAPHICS.H>
#include <STDLIB.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main()
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int xmax, ymax; </FONT></P>
<P><FONT color=#0000ff>/* initialize graphics and local variables */
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
<P><FONT color=#0000ff>/* 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 */
} </FONT></P>
<P><FONT color=#0000ff>xmax = getmaxx();
ymax = getmaxy(); </FONT></P>
<P><FONT color=#0000ff>/* select XOR drawing mode */
setwritemode(XOR_PUT); </FONT></P>
<P><FONT color=#0000ff>/* draw a line */
line(0, 0, xmax, ymax);
getch(); </FONT></P>
<P><FONT color=#0000ff>/* erase the line by drawing over it */
line(0, 0, xmax, ymax);
getch(); </FONT></P>
<P><FONT color=#0000ff>/* select overwrite drawing mode */
setwritemode(COPY_PUT); </FONT></P>
<P><FONT color=#0000ff>/* draw a line */
line(0, 0, xmax, ymax); </FONT></P>
<P><FONT color=#0000ff>/* clean up */
getch();
closegraph();
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: signal</FONT>
功 能: 设置某一信号的对应动作
用 法: int signal(int sig, sigfun fname);
程序例: </P>
<P><FONT color=#0000ff>/* This example installs a signal handler routine for SIGFPE,
catches an integer overflow condition, makes an adjustment
to AX register, and returns. This example program MAY cause
your computer to crash, and will produce runtime errors
depending on which memory model is used.
*/ </FONT></P>
<P><FONT color=#0000ff>#pragma inline
#include <STDIO.H>
#include <SIGNAL.H></FONT></P>
<P><FONT color=#0000ff>void Catcher(int sig, int type, int *reglist)
{
printf("Caught it!\n");
*(reglist + 8) = 3; /* make return AX = 3 */
} </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
signal(SIGFPE, Catcher);
asm mov ax,07FFFH /* AX = 32767 */
asm inc ax /* cause overflow */
asm into /* activate handler */ </FONT></P>
<P><FONT color=#0000ff>/* The handler set AX to 3 on return. If that hadn't happened,
there would have been another exception when the next 'into'
was executed after the 'dec' instruction. */
asm dec ax /* no overflow now */
asm into /* doesn't activate */
return 0;
}


</FONT></P>
<P><FONT color=#ff0000>函数名: sin </FONT>
功 能: 正弦函数
用 法: double sin(double x);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <MATH.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
double result, x = 0.5; </FONT></P>
<P><FONT color=#0000ff>result = sin(x);
printf("The sin() of %lf is %lf\n", x, result);
return 0;
}

</FONT></P>
<P><FONT color=#ff0000>函数名: sinh </FONT>
功 能: 双曲正弦函数
用 法: double sinh(double x);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <MATH.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
double result, x = 0.5; </FONT></P>
<P><FONT color=#0000ff>result = sinh(x);
printf("The hyperbolic sin() of %lf is %lf\n", x, result);
return 0;
}


</FONT></P>
<P><FONT color=#ff0000>函数名: sleep </FONT>
功 能: 执行挂起一段时间
用 法: unsigned sleep(unsigned seconds);
程序例: </P>
<P><FONT color=#0000ff>#include <DOS.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int i; </FONT></P>
<P><FONT color=#0000ff>for (i=1; i&lt;5; i++)
{
printf("Sleeping for %d seconds\n", i);
sleep(i);
}
return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: sopen </FONT>
功 能: 打开一共享文件
用 法: int sopen(char *pathname, int access, int shflag, int permiss);
程序例: </P>
<P><FONT color=#0000ff>#include <IO.H>
#include <FCNTL.H>
#include <SYS\STAT.H>
#include <PROCESS.H>
#include <SHARE.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int handle;
int status; </FONT></P>
<P><FONT color=#0000ff>handle = sopen("c:\\autoexec.bat", O_RDONLY, SH_DENYNO, S_IREAD); </FONT></P>
<P><FONT color=#0000ff>if (!handle)
{
printf("sopen failed\n");
exit(1);
} </FONT></P>
<P><FONT color=#0000ff>status = access("c:\\autoexec.bat", 6);
if (status == 0)
printf("read/write access allowed\n");
else
printf("read/write access not allowed\n"); </FONT></P>
<P><FONT color=#0000ff>close(handle);
return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: sound </FONT>
功 能: 以指定频率打开PC扬声器
用 法: void sound(unsigned frequency);
程序例: </P>
<P><FONT color=#0000ff>/* Emits a 7-Hz tone for 10 seconds.
Your PC may not be able to emit a 7-Hz tone. */
#include <DOS.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
sound(7);
delay(10000);
nosound();
return 0;
} </FONT>


</P>
<P><FONT color=#ff0000>函数名: spawnl </FONT>
功 能: 创建并运行子程序
用 法: int spawnl(int mode, char *pathname, char *arg0,
arg1, ... argn, NULL);
程序例: </P>
<P><FONT color=#0000ff>#include <PROCESS.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int result; </FONT></P>
<P><FONT color=#0000ff>clrscr();
result = spawnl(P_WAIT, "tcc.exe", NULL);
if (result == -1)
{
perror("Error from spawnl");
exit(1);
}
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: spawnle </FONT>
功 能: 创建并运行子程序
用 法: int spawnle(int mode, char *pathname, char *arg0,
arg1,..., argn, NULL);
程序例: </P>
<P><FONT color=#0000ff>/* spawnle() example */ </FONT></P>
<P><FONT color=#0000ff>#include <PROCESS.H>
#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int result; </FONT></P>
<P><FONT color=#0000ff>clrscr();
result = spawnle(P_WAIT, "tcc.exe", NULL, NULL);
if (result == -1)
{
perror("Error from spawnle");
exit(1);
}
return 0;
}


</FONT></P>
<P><FONT color=#ff0000>函数名: sprintf </FONT>
功 能: 送格式化输出到字符串中
用 法: int sprintf(char *string, char *farmat [,argument,...]);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <MATH.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char buffer; </FONT></P>
<P><FONT color=#0000ff>sprintf(buffer, "An approximation of Pi is %f\n", M_PI);
puts(buffer);
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: sqrt </FONT>
功 能: 计算平方根
用 法: double sqrt(double x);
程序例: </P>
<P><FONT color=#0000ff>#include <MATH.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
double x = 4.0, result; </FONT></P>
<P><FONT color=#0000ff>result = sqrt(x);
printf("The square root of %lf is %lf\n", x, result);
return 0;
}
</FONT></P>
<P><FONT color=#ff0000>函数名: srand </FONT>
功 能: 初始化随机数发生器
用 法: void srand(unsigned seed);
程序例: </P>
<P><FONT color=#0000ff>#include <STDLIB.H>
#include <STDIO.H>
#include <TIME.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
int i;
time_t t; </FONT></P>
<P><FONT color=#0000ff>srand((unsigned) time(&amp;t));
printf("Ten random numbers from 0 to 99\n\n");
for(i=0; i&lt;10; i++)
printf("%d\n", rand() % 100);
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: sscanf </FONT>
功 能: 执行从字符串中的格式化输入
用 法: int sscanf(char *string, char *format[,argument,...]);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <CONIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char label;
char name;
int entries = 0;
int loop, age;
double salary; </FONT></P>
<P><FONT color=#0000ff>struct Entry_struct
{
char name;
int age;
float salary;
} entry; </FONT></P>
<P><FONT color=#0000ff>/* Input a label as a string of characters restricting to 20 characters */
printf("\n\nPlease enter a label for the chart: ");
scanf("%20s", label);
fflush(stdin); /* flush the input stream in case of bad input */ </FONT></P>
<P><FONT color=#0000ff>/* Input number of entries as an integer */
printf("How many entries will there be? (less than 20) ");
scanf("%d", &amp;entries);
fflush(stdin); /* flush the input stream in case of bad input */ </FONT></P>
<P><FONT color=#0000ff>/* input a name restricting input to only letters upper or lower case */
for (loop=0;loop<ENTRIES;++LOOP)
{
printf("Entry %d\n", loop);
printf(" Name : ");
scanf("%", entry.name);
fflush(stdin); /* flush the input stream in case of bad input */ </FONT></P>
<P><FONT color=#0000ff>/* input an age as an integer */
printf(" Age : ");
scanf("%d", &amp;entry.age);
fflush(stdin); /* flush the input stream in case of bad input */ </FONT></P>
<P><FONT color=#0000ff>/* input a salary as a float */
printf(" Salary : ");
scanf("%f", &amp;entry.salary);
fflush(stdin); /* flush the input stream in case of bad input */
} </FONT></P>
<P><FONT color=#0000ff>/* Input a name, age and salary as a string, integer, and double */
printf("\nPlease enter your name, age and salary\n");
scanf("%20s %d %lf", name, &amp;age, &amp;salary);
</FONT></P>
<P><FONT color=#0000ff>/* Print out the data that was input */
printf("\n\nTable %s\n",label);
printf("Compiled by %s age %d $%15.2lf\n", name, age, salary);
printf("-----------------------------------------------------\n");
for (loop=0;loop<ENTRIES;++LOOP)
printf("%4d | %-20s | %5d | %15.2lf\n",
loop + 1,
entry.name,
entry.age,
entry.salary);
printf("-----------------------------------------------------\n");
return 0;
}

</FONT></P>
<P><FONT color=#ff0000>函数名: stat </FONT>
功 能: 读取打开文件信息
用 法: int stat(char *pathname, struct stat *buff);
程序例: </P>
<P><FONT color=#0000ff>#include <SYS\STAT.H>
#include <STDIO.H>
#include <TIME.H></FONT></P>
<P><FONT color=#0000ff>#define FILENAME "TEST.$$$" </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
struct stat statbuf;
FILE *stream; </FONT></P>
<P><FONT color=#0000ff>/* open a file for update */
if ((stream = fopen(FILENAME, "w+")) == NULL)
{
fprintf(stderr, "Cannot open output file.\n");
return(1);
} </FONT></P>
<P><FONT color=#0000ff>/* get information about the file */
stat(FILENAME, &amp;statbuf); </FONT></P>
<P><FONT color=#0000ff>fclose(stream); </FONT></P>
<P><FONT color=#0000ff>/* display the information returned */
if (statbuf.st_mode &amp; S_IFCHR)
printf("Handle refers to a device.\n");
if (statbuf.st_mode &amp; S_IFREG)
printf("Handle refers to an ordinary file.\n");
if (statbuf.st_mode &amp; S_IREAD)
printf("User has read permission on file.\n");
if (statbuf.st_mode &amp; S_IWRITE)
printf("User has write permission on file.\n"); </FONT></P>
<P><FONT color=#0000ff>printf("Drive letter of file: %c\n", 'A'+statbuf.st_dev);
printf("Size of file in bytes: %ld\n", statbuf.st_size);
printf("Time file last opened: %s\n", ctime(&amp;statbuf.st_ctime));
return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: _status87 </FONT>
功 能: 取浮点状态
用 法: unsigned int _status87(void);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <FLOAT.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
float x;
double y = 1.5e-100; </FONT></P>
<P><FONT color=#0000ff>printf("Status 87 before error: %x\n", _status87()); </FONT></P>
<P><FONT color=#0000ff>x = y; /* &lt;-- force an error to occur */
y = x; </FONT></P>
<P><FONT color=#0000ff>printf("Status 87 after error : %x\n", _status87());
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: stime </FONT>
功 能: 设置时间
用 法: int stime(long *tp);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <TIME.H>
#include <DOS.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
time_t t;
struct tm *area; </FONT></P>
<P><FONT color=#0000ff>t = time(NULL);
area = localtime(&amp;t);
printf("Number of seconds since 1/1/1970 is: %ld\n", t);
printf("Local time is: %s", asctime(area)); </FONT></P>
<P><FONT color=#0000ff>t++;
area = localtime(&amp;t);
printf("Add a second: %s", asctime(area)); </FONT></P>
<P><FONT color=#0000ff>t += 60;
area = localtime(&amp;t);
printf("Add a minute: %s", asctime(area)); </FONT></P>
<P><FONT color=#0000ff>t += 3600;
area = localtime(&amp;t);
printf("Add an hour: %s", asctime(area)); </FONT></P>
<P><FONT color=#0000ff>t += 86400L;
area = localtime(&amp;t);
printf("Add a day: %s", asctime(area)); </FONT></P>
<P><FONT color=#0000ff>t += 2592000L;
area = localtime(&amp;t);
printf("Add a month: %s", asctime(area)); </FONT></P>
<P><FONT color=#0000ff>t += 31536000L;
area = localtime(&amp;t);
printf("Add a year: %s", asctime(area));
return 0;
} </FONT>


</P>
<P><FONT color=#ff0000>函数名: stpcpy </FONT>
功 能: 拷贝一个字符串到另一个
用 法: char *stpcpy(char *destin, char *source);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <STRING.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char string;
char *str1 = "abcdefghi"; </FONT></P>
<P><FONT color=#0000ff>stpcpy(string, str1);
printf("%s\n", string);
return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: strcat </FONT>
功 能: 字符串拼接函数
用 法: char *strcat(char *destin, char *source);
程序例: </P>
<P><FONT color=#0000ff>#include <STRING.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char destination;
char *blank = " ", *c = "C++", *Borland = "Borland"; </FONT></P>
<P><FONT color=#0000ff>strcpy(destination, Borland);
strcat(destination, blank);
strcat(destination, c); </FONT></P>
<P><FONT color=#0000ff>printf("%s\n", destination);
return 0;
}

</FONT><FONT color=#ff0000>
</FONT></P>
<P><FONT color=#ff0000>函数名: strchr </FONT>
功 能: 在一个串中查找给定字符的第一个匹配之处\
用 法: char *strchr(char *str, char c);
程序例: </P>
<P><FONT color=#0000ff>#include <STRING.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char string;
char *ptr, c = 'r'; </FONT></P>
<P><FONT color=#0000ff>strcpy(string, "This is a string");
ptr = strchr(string, c);
if (ptr)
printf("The character %c is at position: %d\n", c, ptr-string);
else
printf("The character was not found\n");
return 0;
}
</FONT>

</P>
<P><FONT color=#ff0000>函数名: strcmp</FONT>
功 能: 串比较
用 法: int strcmp(char *str1, char *str2);
程序例: </P>
<P><FONT color=#0000ff>#include <STRING.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";
int ptr; </FONT></P>
<P><FONT color=#0000ff>ptr = strcmp(buf2, buf1);
if (ptr &gt; 0)
printf("buffer 2 is greater than buffer 1\n");
else
printf("buffer 2 is less than buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>ptr = strcmp(buf2, buf3);
if (ptr &gt; 0)
printf("buffer 2 is greater than buffer 3\n");
else
printf("buffer 2 is less than buffer 3\n"); </FONT></P>
<P><FONT color=#0000ff>return 0;
}


</FONT></P>
<P><FONT color=#ff0000>函数名: strncmpi </FONT>
功 能: 将一个串中的一部分与另一个串比较, 不管大小写
用 法: int strncmpi(char *str1, char *str2, unsigned maxlen);
程序例: </P>
<P><FONT color=#0000ff>#include <STRING.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *buf1 = "BBB", *buf2 = "bbb";
int ptr; </FONT></P>
<P><FONT color=#0000ff>ptr = strcmpi(buf2, buf1); </FONT></P>
<P><FONT color=#0000ff>if (ptr &gt; 0)
printf("buffer 2 is greater than buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>if (ptr &lt; 0)
printf("buffer 2 is less than buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>if (ptr == 0)
printf("buffer 2 equals buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: strcpy </FONT>
功 能: 串拷贝
用 法: char *strcpy(char *str1, char *str2);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <STRING.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char string;
char *str1 = "abcdefghi"; </FONT></P>
<P><FONT color=#0000ff>strcpy(string, str1);
printf("%s\n", string);
return 0;
}
</FONT>

</P>
<P><FONT color=#ff0000>函数名: strcspn </FONT>
功 能: 在串中查找第一个给定字符集内容的段
用 法: int strcspn(char *str1, char *str2);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <STRING.H>
#include <ALLOC.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *string1 = "1234567890";
char *string2 = "747DC8";
int length; </FONT></P>
<P><FONT color=#0000ff>length = strcspn(string1, string2);
printf("Character where strings intersect is at position %d\n", length); </FONT></P>
<P><FONT color=#0000ff>return 0;
}
</FONT>

</P>
<P><FONT color=#ff0000>函数名: strdup </FONT>
功 能: 将串拷贝到新建的位置处
用 法: char *strdup(char *str);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <STRING.H>
#include <ALLOC.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *dup_str, *string = "abcde"; </FONT></P>
<P><FONT color=#0000ff>dup_str = strdup(string);
printf("%s\n", dup_str);
free(dup_str); </FONT></P>
<P><FONT color=#0000ff>return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: stricmp </FONT>
功 能: 以大小写不敏感方式比较两个串
用 法: int stricmp(char *str1, char *str2);
程序例: </P>
<P><FONT color=#0000ff>#include <STRING.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *buf1 = "BBB", *buf2 = "bbb";
int ptr; </FONT></P>
<P><FONT color=#0000ff>ptr = stricmp(buf2, buf1); </FONT></P>
<P><FONT color=#0000ff>if (ptr &gt; 0)
printf("buffer 2 is greater than buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>if (ptr &lt; 0)
printf("buffer 2 is less than buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>if (ptr == 0)
printf("buffer 2 equals buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: strerror </FONT>
功 能: 返回指向错误信息字符串的指针
用 法: char *strerror(int errnum);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <ERRNO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *buffer;
buffer = strerror(errno);
printf("Error: %s\n", buffer);
return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: strcmpi </FONT>
功 能: 将一个串与另一个比较, 不管大小写
用 法: int strcmpi(char *str1, char *str2);
程序例: </P>
<P><FONT color=#0000ff>#include <STRING.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *buf1 = "BBB", *buf2 = "bbb";
int ptr; </FONT></P>
<P><FONT color=#0000ff>ptr = strcmpi(buf2, buf1); </FONT></P>
<P><FONT color=#0000ff>if (ptr &gt; 0)
printf("buffer 2 is greater than buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>if (ptr &lt; 0)
printf("buffer 2 is less than buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>if (ptr == 0)
printf("buffer 2 equals buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>return 0;
}
</FONT>

</P>
<P><FONT color=#ff0000>函数名: strncmp </FONT>
功 能: 串比较
用 法: int strncmp(char *str1, char *str2, int maxlen);
程序例: </P>
<P><FONT color=#0000ff>#include <STRING.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void) </FONT></P>
<P><FONT color=#0000ff>{
char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc";
int ptr; </FONT></P>
<P><FONT color=#0000ff>ptr = strncmp(buf2,buf1,3);
if (ptr &gt; 0)
printf("buffer 2 is greater than buffer 1\n");
else
printf("buffer 2 is less than buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>ptr = strncmp(buf2,buf3,3);
if (ptr &gt; 0)
printf("buffer 2 is greater than buffer 3\n");
else
printf("buffer 2 is less than buffer 3\n"); </FONT></P>
<P><FONT color=#0000ff>return(0);
}

</FONT></P>
<P><FONT color=#ff0000>函数名: strncmpi </FONT>
功 能: 把串中的一部分与另一串中的一部分比较, 不管大小写
用 法: int strncmpi(char *str1, char *str2);
程序例: </P>
<P><FONT color=#0000ff>#include <STRING.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *buf1 = "BBBccc", *buf2 = "bbbccc";
int ptr; </FONT></P>
<P><FONT color=#0000ff>ptr = strncmpi(buf2,buf1,3); </FONT></P>
<P><FONT color=#0000ff>if (ptr &gt; 0)
printf("buffer 2 is greater than buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>if (ptr &lt; 0)
printf("buffer 2 is less than buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>if (ptr == 0)
printf("buffer 2 equals buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>return 0; </FONT>
}

</P>
<P><FONT color=#ff0000>函数名: strncpy </FONT>
功 能: 串拷贝
用 法: char *strncpy(char *destin, char *source, int maxlen);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <STRING.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char string;
char *str1 = "abcdefghi"; </FONT></P>
<P><FONT color=#0000ff>strncpy(string, str1, 3);
string = '\0';
printf("%s\n", string);
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: strnicmp </FONT>
功 能: 不注重大小写地比较两个串
用 法: int strnicmp(char *str1, char *str2, unsigned maxlen);
程序例: </P>
<P><FONT color=#0000ff>#include <STRING.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *buf1 = "BBBccc", *buf2 = "bbbccc";
int ptr; </FONT></P>
<P><FONT color=#0000ff>ptr = strnicmp(buf2, buf1, 3); </FONT></P>
<P><FONT color=#0000ff>if (ptr &gt; 0)
printf("buffer 2 is greater than buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>if (ptr &lt; 0)
printf("buffer 2 is less than buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>if (ptr == 0)
printf("buffer 2 equals buffer 1\n"); </FONT></P>
<P><FONT color=#0000ff>return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: strnset </FONT>
功 能: 将一个串中的所有字符都设为指定字符
用 法: char *strnset(char *str, char ch, unsigned n);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <STRING.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *string = "abcdefghijklmnopqrstuvwxyz";
char letter = 'x'; </FONT></P>
<P><FONT color=#0000ff>printf("string before strnset: %s\n", string);
strnset(string, letter, 13);
printf("string after strnset: %s\n", string); </FONT></P>
<P><FONT color=#0000ff>return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: strpbrk </FONT>
功 能: 在串中查找给定字符集中的字符
用 法: char *strpbrk(char *str1, char *str2);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <STRING.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *string1 = "abcdefghijklmnopqrstuvwxyz";
char *string2 = "onm";
char *ptr; </FONT></P>
<P><FONT color=#0000ff>ptr = strpbrk(string1, string2); </FONT></P>
<P><FONT color=#0000ff>if (ptr)
printf("strpbrk found first character: %c\n", *ptr);
else
printf("strpbrk didn't find character in set\n"); </FONT></P>
<P><FONT color=#0000ff>return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: strrchr </FONT>
功 能: 在串中查找指定字符的最后一个出现
用 法: char *strrchr(char *str, char c);
程序例: </P>
<P><FONT color=#0000ff>#include <STRING.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char string;
char *ptr, c = 'r'; </FONT></P>
<P><FONT color=#0000ff>strcpy(string, "This is a string");
ptr = strrchr(string, c);
if (ptr)
printf("The character %c is at position: %d\n", c, ptr-string);
else
printf("The character was not found\n");
return 0;
} </FONT>


</P>
<P><FONT color=#ff0000>函数名: strrev </FONT>
功 能: 串倒转
用 法: char *strrev(char *str);
程序例: </P>
<P><FONT color=#0000ff>#include <STRING.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *forward = "string"; </FONT></P>
<P><FONT color=#0000ff>printf("Before strrev(): %s\n", forward);
strrev(forward);
printf("After strrev(): %s\n", forward);
return 0;
} </FONT>
</P>
<P><FONT color=#ff0000>函数名: strset </FONT>
功 能: 将一个串中的所有字符都设为指定字符
用 法: char *strset(char *str, char c);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <STRING.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char string = "123456789";
char symbol = 'c'; </FONT></P>
<P><FONT color=#0000ff>printf("Before strset(): %s\n", string);
strset(string, symbol);
printf("After strset(): %s\n", string);
return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: strspn </FONT>
功 能: 在串中查找指定字符集的子集的第一次出现
用 法: int strspn(char *str1, char *str2);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <STRING.H>
#include <ALLOC.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *string1 = "1234567890";
char *string2 = "123DC8";
int length; </FONT></P>
<P><FONT color=#0000ff>length = strspn(string1, string2);
printf("Character where strings differ is at position %d\n", length);
return 0;
}
</FONT>
</P>
<P><FONT color=#ff0000>函数名: strstr </FONT>
功 能: 在串中查找指定字符串的第一次出现
用 法: char *strstr(char *str1, char *str2);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <STRING.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *str1 = "Borland International", *str2 = "nation", *ptr; </FONT></P>
<P><FONT color=#0000ff>ptr = strstr(str1, str2);
printf("The substring is: %s\n", ptr);
return 0;
} </FONT>

</P>
<P><FONT color=#ff0000>函数名: strtod </FONT>
功 能: 将字符串转换为double型值
用 法: double strtod(char *str, char **endptr);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <STDLIB.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char input, *endptr;
double value; </FONT></P>
<P><FONT color=#0000ff>printf("Enter a floating point number:");
gets(input);
value = strtod(input, &amp;endptr);
printf("The string is %s the number is %lf\n", input, value);
return 0;
}
</FONT>

</P>
<P><FONT color=#ff0000>函数名: strtok </FONT>
功 能: 查找由在第二个串中指定的分界符分隔开的单词
用 法: char *strtok(char *str1, char *str2);
程序例: </P>
<P><FONT color=#0000ff>#include <STRING.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char input = "abc,d";
char *p; </FONT></P>
<P><FONT color=#0000ff>/* strtok places a NULL terminator
in front of the token, if found */
p = strtok(input, ",");
if (p) printf("%s\n", p); </FONT></P>
<P><FONT color=#0000ff>/* A second call to strtok using a NULL
as the first parameter returns a pointer
to the character following the token */
p = strtok(NULL, ",");
if (p) printf("%s\n", p);
return 0;
}


</FONT></P>
<P><FONT color=#ff0000>函数名: strtol </FONT>
功 能: 将串转换为长整数
用 法: long strtol(char *str, char **endptr, int base);
程序例: </P>
<P><FONT color=#0000ff>#include <STDLIB.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *string = "87654321", *endptr;
long lnumber; </FONT></P>
<P><FONT color=#0000ff>/* strtol converts string to long integer */
lnumber = strtol(string, &amp;endptr, 10);
printf("string = %s long = %ld\n", string, lnumber); </FONT></P>
<P><FONT color=#0000ff>return 0;
} </FONT>
</P>
<P><FONT color=#ff0000>函数名: strupr </FONT>
功 能: 将串中的小写字母转换为大写字母
用 法: char *strupr(char *str);
程序例: </P>
<P><FONT color=#0000ff>#include <STDIO.H>
#include <STRING.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
char *string = "abcdefghijklmnopqrstuvwxyz", *ptr; </FONT></P>
<P><FONT color=#0000ff>/* converts string to upper case characters */
ptr = strupr(string);
printf("%s\n", ptr);
return 0;
}

</FONT>
</P>
<P><FONT color=#ff0000>函数名: swab </FONT>
功 能: 交换字节
用 法: void swab (char *from, char *to, int nbytes);
程序例: </P>
<P><FONT color=#0000ff>#include <STDLIB.H>
#include <STDIO.H>
#include <STRING.H></FONT></P>
<P><FONT color=#0000ff>char source = "rFna koBlrna d";
char target; </FONT></P>
<P><FONT color=#0000ff>int main(void)
{
swab(source, target, strlen(source));
printf("This is target: %s\n", target);
return 0;
}
</FONT>

</P>
<P><FONT color=#ff0000>函数名: system </FONT>
功 能: 发出一个DOS命令
用 法: int system(char *command);
程序例: </P>
<P><FONT color=#0000ff>#include <STDLIB.H>
#include <STDIO.H></FONT></P>
<P><FONT color=#0000ff>int main(void)
{
printf("About to spawn command.com and run a DOS command\n");
system("dir");
return 0;
} </FONT></P>
页: [1]
查看完整版本: 函数大全(s开头)