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

📄 fs.htm

📁 C语言编程宝典.rar,学习C语言的经典初级教程
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<P>&nbsp;&nbsp; /* adjust the aspect for a wide circle */
<BR>&nbsp;&nbsp; setaspectratio(xasp/2, yasp);
<BR>&nbsp;&nbsp; circle(midx, midy, 100);
<BR>&nbsp;&nbsp; getch();

<P>&nbsp;&nbsp; /* adjust the aspect for a narrow circle */
<BR>&nbsp;&nbsp; cleardevice();
<BR>&nbsp;&nbsp; setaspectratio(xasp, yasp/2);
<BR>&nbsp;&nbsp; circle(midx, midy, 100);

<P>&nbsp;&nbsp; /* clean up */
<BR>&nbsp;&nbsp; getch();
<BR>&nbsp;&nbsp; closegraph();
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: setbkcolor
<BR>功&nbsp; 能: 用调色板设置当前背景颜色
<BR>用&nbsp; 法: void far setbkcolor(int color);
<BR>程序例:

<P>#include &lt;graphics.h>
<BR>#include &lt;stdlib.h>
<BR>#include &lt;stdio.h>
<BR>#include &lt;conio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; /* select a driver and mode that supports */
<BR>&nbsp;&nbsp; /* multiple background colors.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*/
<BR>&nbsp;&nbsp; int gdriver = EGA, gmode = EGAHI, errorcode;
<BR>&nbsp;&nbsp; int bkcol, maxcolor, x, y;
<BR>&nbsp;&nbsp; char msg[80];

<P>&nbsp;&nbsp; /* initialize graphics and local variables */
<BR>&nbsp;&nbsp; initgraph(&amp;gdriver, &amp;gmode, "");

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

<P>&nbsp;&nbsp; /* maximum color index supported */
<BR>&nbsp;&nbsp; maxcolor = getmaxcolor();

<P>&nbsp;&nbsp; /* for centering text messages */
<BR>&nbsp;&nbsp; settextjustify(CENTER_TEXT, CENTER_TEXT);
<BR>&nbsp;&nbsp; x = getmaxx() / 2;
<BR>&nbsp;&nbsp; y = getmaxy() / 2;

<P>&nbsp;&nbsp; /* loop through the available colors */
<BR>&nbsp;&nbsp; for (bkcol=0; bkcol&lt;=maxcolor; bkcol++)
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* clear the screen */
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cleardevice();

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* select a new background color */
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setbkcolor(bkcol);

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* output a messsage */
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (bkcol == WHITE)
<BR>&nbsp; setcolor(EGA_BLUE);
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sprintf(msg, "Background color: %d",
bkcol);
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outtextxy(x, y, msg);
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch();
<BR>&nbsp;&nbsp; }

<P>&nbsp;&nbsp; /* clean up */
<BR>&nbsp;&nbsp; closegraph();
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: setblock
<BR>功&nbsp; 能: 修改先前已分配的DOS存储段大小
<BR>用&nbsp; 法: int setblock(int seg, int newsize);
<BR>程序例:

<P>#include &lt;dos.h>
<BR>#include &lt;alloc.h>
<BR>#include &lt;stdio.h>
<BR>#include &lt;stdlib.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; unsigned int size, segp;
<BR>&nbsp;&nbsp; int stat;

<P>&nbsp;&nbsp; size = 64; /* (64 x 16) = 1024 bytes */
<BR>&nbsp;&nbsp; stat = allocmem(size, &amp;segp);
<BR>&nbsp;&nbsp; if (stat == -1)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Allocated memory at segment:
%X\n", segp);
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Failed: maximum number of paragraphs
available is %d\n",
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stat);
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<BR>&nbsp;&nbsp; }

<P>&nbsp;&nbsp; stat = setblock(segp, size * 2);
<BR>&nbsp;&nbsp; if (stat == -1)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Expanded memory block at segment:
%X\n", segp);
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Failed: maximum number of paragraphs
available is %d\n",
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
stat);

<P>&nbsp;&nbsp; freemem(segp);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: setbuf
<BR>功&nbsp; 能: 把缓冲区与流相联
<BR>用&nbsp; 法: void setbuf(FILE *steam, char *buf);
<BR>程序例:

<P>#include &lt;stdio.h>

<P>/* BUFSIZ is defined in stdio.h */
<BR>char outbuf[BUFSIZ];

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; /* attach a buffer to the standard output stream */
<BR>&nbsp;&nbsp; setbuf(stdout, outbuf);

<P>&nbsp;&nbsp; /* put some characters into the buffer */
<BR>&nbsp;&nbsp; puts("This is a test of buffered output.\n\n");
<BR>&nbsp;&nbsp; puts("This output will go into outbuf\n");
<BR>&nbsp;&nbsp; puts("and won't appear until the buffer\n");
<BR>&nbsp;&nbsp; puts("fills up or we flush the stream.\n");

<P>&nbsp;&nbsp; /* flush the output buffer */
<BR>&nbsp;&nbsp; fflush(stdout);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: setcbrk
<BR>功&nbsp; 能: 设置Control-break
<BR>用&nbsp; 法: int setcbrk(int value);
<BR>程序例:

<P>#include &lt;dos.h>
<BR>#include &lt;conio.h>
<BR>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; int break_flag;

<P>&nbsp;&nbsp; printf("Enter 0 to turn control break off\n");
<BR>&nbsp;&nbsp; printf("Enter 1 to turn control break on\n");

<P>&nbsp;&nbsp; break_flag = getch() - 0;

<P>&nbsp;&nbsp; setcbrk(break_flag);

<P>&nbsp;&nbsp; if (getcbrk())
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Cntrl-brk flag is on\n");
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Cntrl-brk flag is off\n");
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: setcolor
<BR>功&nbsp; 能: 设置当前画线颜色
<BR>用&nbsp; 法: void far setcolor(int color);
<BR>程序例:

<P>#include &lt;graphics.h>
<BR>#include &lt;stdlib.h>
<BR>#include &lt;stdio.h>
<BR>#include &lt;conio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; /* select a driver and mode that supports */
<BR>&nbsp;&nbsp; /* multiple drawing colors.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*/
<BR>&nbsp;&nbsp; int gdriver = EGA, gmode = EGAHI, errorcode;
<BR>&nbsp;&nbsp; int color, maxcolor, x, y;
<BR>&nbsp;&nbsp; char msg[80];

<P>&nbsp;&nbsp; /* initialize graphics and local variables */
<BR>&nbsp;&nbsp; initgraph(&amp;gdriver, &amp;gmode, "");

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

<P>&nbsp;&nbsp; /* maximum color index supported */
<BR>&nbsp;&nbsp; maxcolor = getmaxcolor();

<P>&nbsp;&nbsp; /* for centering text messages */
<BR>&nbsp;&nbsp; settextjustify(CENTER_TEXT, CENTER_TEXT);
<BR>&nbsp;&nbsp; x = getmaxx() / 2;
<BR>&nbsp;&nbsp; y = getmaxy() / 2;

<P>&nbsp;&nbsp; /* loop through the available colors */
<BR>&nbsp;&nbsp; for (color=1; color&lt;=maxcolor; color++)
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* clear the screen */
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cleardevice();

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* select a new background color */
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setcolor(color);

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* output a messsage */
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sprintf(msg, "Color: %d", color);
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outtextxy(x, y, msg);
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch();
<BR>&nbsp;&nbsp; }

<P>&nbsp;&nbsp; /* clean up */
<BR>&nbsp;&nbsp; closegraph();
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: setdate
<BR>功&nbsp; 能: 设置DOS日期
<BR>用&nbsp; 法: void setdate(struct date *dateblk);
<BR>程序例:

<P>#include &lt;stdio.h>
<BR>#include &lt;process.h>
<BR>#include &lt;dos.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; struct date reset;
<BR>&nbsp;&nbsp; struct date save_date;

<P>&nbsp;&nbsp; getdate(&amp;save_date);
<BR>&nbsp;&nbsp; printf("Original date:\n");
<BR>&nbsp;&nbsp; system("date");

<P>&nbsp;&nbsp; reset.da_year = 2001;
<BR>&nbsp;&nbsp; reset.da_day = 1;
<BR>&nbsp;&nbsp; reset.da_mon = 1;
<BR>&nbsp;&nbsp; setdate(&amp;reset);

<P>&nbsp;&nbsp; printf("Date after setting:\n");
<BR>&nbsp;&nbsp; system("date");

<P>&nbsp;&nbsp; setdate(&amp;save_date);
<BR>&nbsp;&nbsp; printf("Back to original date:\n");
<BR>&nbsp;&nbsp; system("date");

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: setdisk
<BR>功&nbsp; 能: 设置当前磁盘驱动器
<BR>用&nbsp; 法: int setdisk(int drive);
<BR>程序例:

<P>#include &lt;stdio.h>
<BR>#include &lt;dir.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; int save, disk, disks;

<P>&nbsp;&nbsp; /* save original drive */
<BR>&nbsp;&nbsp; save = getdisk();

<P>&nbsp;&nbsp; /* print number of logic drives */
<BR>&nbsp;&nbsp; disks = setdisk(save);
<BR>&nbsp;&nbsp; printf("%d logical drives on the system\n\n", disks);

<P>&nbsp;&nbsp; /* print the drive letters available */
<BR>&nbsp;&nbsp; printf("Available drives:\n");
<BR>&nbsp;&nbsp; for (disk = 0;disk &lt; 26;++disk)
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setdisk(disk);
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (disk == getdisk())
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%c: drive
is available\n", disk + 'a');
<BR>&nbsp;&nbsp; }
<BR>&nbsp;&nbsp; setdisk(save);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: setdta
<BR>功&nbsp; 能: 设置磁盘传输区地址
<BR>用&nbsp; 法: void setdta(char far *dta);
<BR>程序例:

<P>#include &lt;process.h>
<BR>#include &lt;string.h>
<BR>#include &lt;stdio.h>
<BR>#include &lt;dos.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; char line[80], far *save_dta;
<BR>&nbsp;&nbsp; char buffer[256] = "SETDTA test!";
<BR>&nbsp;&nbsp; struct fcb blk;
<BR>&nbsp;&nbsp; int result;

<P>&nbsp;&nbsp; /* get new file name from user */
<BR>&nbsp;&nbsp; printf("Enter a file name to create:");
<BR>&nbsp;&nbsp; gets(line);

<P>&nbsp;&nbsp; /* parse the new file name to the dta */
<BR>&nbsp;&nbsp; parsfnm(line, &amp;blk, 1);
<BR>&nbsp;&nbsp; printf("%d %s\n", blk.fcb_drive, blk.fcb_name);

<P>&nbsp;&nbsp; /* request DOS services to create file */
<BR>&nbsp;&nbsp; if (bdosptr(0x16, &amp;blk, 0) == -1)
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; perror("Error creating file");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<BR>&nbsp;&nbsp; }

<P>&nbsp;&nbsp; /* save old dta and set new dta */
<BR>&nbsp;&nbsp; save_dta = getdta();
<BR>&nbsp;&nbsp; setdta(buffer);

<P>&nbsp;&nbsp; /* write new records */
<BR>&nbsp;&nbsp; blk.fcb_recsize = 256;
<BR>&nbsp;&nbsp; blk.fcb_random = 0L;
<BR>&nbsp;&nbsp; result = randbwr(&amp;blk, 1);
<BR>&nbsp;&nbsp; printf("result = %d\n", result);

<P>&nbsp;&nbsp; if (!result)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Write OK\n");
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; perror("Disk error");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<BR>&nbsp;&nbsp; }

<P>&nbsp;&nbsp; /* request DOS services to close the file */
<BR>&nbsp;&nbsp; if (bdosptr(0x10, &amp;blk, 0) == -1)
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; perror("Error closing file");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<BR>&nbsp;&nbsp; }

<P>&nbsp;&nbsp; /* reset the old dta */
<BR>&nbsp;&nbsp; setdta(save_dta);
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: setfillpattern
<BR>功&nbsp; 能: 选择用户定义的填充模式
<BR>用&nbsp; 法: void far setfillpattern(char far *upattern, int color);
<BR>程序例:

<P>#include &lt;graphics.h>
<BR>#include &lt;stdlib.h>
<BR>#include &lt;stdio.h>
<BR>#include &lt;conio.h>

⌨️ 快捷键说明

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