数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz

C语言的函数!

  [复制链接]
 楼主| 发表于 2004-5-8 17:35:43 | 显示全部楼层
<>函数名: fgetpos
功  能: 取得当前文件的句柄
用  法: int fgetpos(FILE *stream);
程序例: <>#include &lt;string.h&gt;
#include &lt;stdio.h&gt; <>int main(void)
{
   FILE *stream;
   char string[] = "This is a test";
   fpos_t filepos; <P>   /* open a file for update */
   stream = fopen("DUMMY.FIL", "w+"); <P>   /* write a string into the file */
   fwrite(string, strlen(string), 1, stream); <P>   /* report the file pointer position */
   fgetpos(stream, &amp;filepos);
   printf("The file pointer is at byte\
          %ld\n", filepos); <P>   fclose(stream);
   return 0;
}
</P>
 楼主| 发表于 2004-5-8 17:35:54 | 显示全部楼层
<>函数名: fgets
功  能: 从流中读取一字符串
用  法: char *fgets(char *string, int n, FILE *stream);
程序例: <>#include &lt;string.h&gt;
#include &lt;stdio.h&gt; <>int main(void)
{
   FILE *stream;
   char string[] = "This is a test";
   char msg[20]; <P>   /* open a file for update */
   stream = fopen("DUMMY.FIL", "w+"); <P>   /* write a string into the file */
   fwrite(string, strlen(string), 1, stream); <P>   /* seek to the start of the file */
   fseek(stream, 0, SEEK_SET); <P>   /* read a string from the file */
   fgets(msg, strlen(string)+1, stream); <P>   /* display the string */
   printf("%s", msg); <P>   fclose(stream);
   return 0;
}
  
  
</P>
 楼主| 发表于 2004-5-8 17:36:05 | 显示全部楼层
<>函数名: filelength
功  能: 取文件长度字节数
用  法: long filelength(int handle);
程序例: <>#include &lt;string.h&gt;
#include &lt;stdio.h&gt;
#include &lt;fcntl.h&gt;
#include &lt;io.h&gt; <>int main(void)
{
   int handle;
   char buf[11] = "0123456789"; <P>   /* create a file containing 10 bytes */
   handle = open("DUMMY.FIL", O_CREAT);
   write(handle, buf, strlen(buf)); <P>   /* display the size of the file */
   printf("file length in bytes: %ld\n",
   filelength(handle)); <P>   /* close the file */
   close(handle);
   return 0;
}
</P>
 楼主| 发表于 2004-5-8 17:36:13 | 显示全部楼层
<>函数名: fillellipse
功  能: 画出并填充一椭圆
用  法: void far fillellipse(int x, int y, int xradius, int yradius);
程序例: <>#include &lt;graphics.h&gt;
#include &lt;conio.h&gt; <>int main(void)
{
   int gdriver = DETECT, gmode;
   int xcenter, ycenter, i; <P>   initgraph(&amp;gdriver,&amp;gmode,"");
   xcenter = getmaxx() / 2;
   ycenter = getmaxy() / 2; <P>   for (i=0; i&lt;13; i++)
   {
      setfillstyle(i,WHITE);
      fillellipse(xcenter,ycenter,100,50);
      getch();
   } <P>   closegraph();
   return 0;
}
  
</P>
 楼主| 发表于 2004-5-8 17:36:25 | 显示全部楼层
<>函数名: fillpoly
功  能: 画并填充一个多边形
用  法: void far fillpoly(int numpoints, int far *polypoints);
程序例: <>#include &lt;graphics.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt; <>int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int i, maxx, maxy; <P>   /* our polygon array */
   int poly[8]; <P>   /* initialize graphics, local variables */
   initgraph(&amp;gdriver, &amp;gmode, ""); <P>   /* 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 */
   } <P>   maxx = getmaxx();
   maxy = getmaxy(); <P>   poly[0] = 20;        /* 1st vertext */
   poly[1] = maxy / 2; <P>   poly[2] = maxx - 20; /* 2nd */
   poly[3] = 20; <P>   poly[4] = maxx - 50; /* 3rd */
   poly[5] = maxy - 20; <P>   /*
      4th vertex. fillpoly automatically
      closes the polygon.
   */
   poly[6] = maxx / 2;
   poly[7] = maxy / 2; <P>   /* loop through the fill patterns */
   for (i=EMPTY_FILL; i&lt;USER_FILL; i++)
   {
      /* set fill pattern */
      setfillstyle(i, getmaxcolor()); <P>      /* draw a filled polygon */
      fillpoly(4, poly); <P>      getch();
   } <P>   /* clean up */
   closegraph();
   return 0;
}
  
  
</P>
 楼主| 发表于 2004-5-8 17:36:34 | 显示全部楼层
<>函数名: findfirst, findnext
功  能: 搜索磁盘目录; 取得下一个匹配的findfirst模式的文件
用  法: int findfirst(char *pathname, struct ffblk *ffblk, int attrib);
int findnext(struct ffblk *ffblk);
程序例: <>/* findnext example */ <>#include &lt;stdio.h&gt;
#include &lt;dir.h&gt; <P>int main(void)
{
   struct ffblk ffblk;
   int done;
   printf("Directory listing of *.*\n");
   done = findfirst("*.*",&amp;ffblk,0);
   while (!done)
   {
      printf("  %s\n", ffblk.ff_name);
      done = findnext(&amp;ffblk);
   } <P>   return 0;
}
</P>
 楼主| 发表于 2004-5-8 17:36:43 | 显示全部楼层
<>函数名: floodfill
功  能: 填充一个有界区域
用  法: void far floodfill(int x, int y, int border);
程序例: <>#include &lt;graphics.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt; <>int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int maxx, maxy; <P>   /* initialize graphics, local variables */
   initgraph(&amp;gdriver, &amp;gmode, ""); <P>   /* 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 */
   } <P>   maxx = getmaxx();
   maxy = getmaxy(); <P>   /* select drawing color */
   setcolor(getmaxcolor()); <P>   /* select fill color */
   setfillstyle(SOLID_FILL, getmaxcolor()); <P>   /* draw a border around the screen */
   rectangle(0, 0, maxx, maxy); <P>   /* draw some circles */
   circle(maxx / 3, maxy /2, 50);
   circle(maxx / 2, 20, 100);
   circle(maxx-20, maxy-50, 75);
   circle(20, maxy-20, 25); <P>   /* wait for a key */
   getch(); <P>   /* fill in bounded region */
   floodfill(2, 2, getmaxcolor()); <P>   /* clean up */
   getch();
   closegraph();
   return 0;
}
  
</P>
 楼主| 发表于 2004-5-8 17:36:52 | 显示全部楼层
<>函数名: floor
功  能: 向下舍入
用  法: double floor(double x);
程序例: <>#include &lt;stdio.h&gt;
#include &lt;math.h&gt; <>int main(void)
{
   double number = 123.54;
   double down, up; <P>   down = floor(number);
   up = ceil(number); <P>   printf("original number     %10.2lf\n",
          number);
   printf("number rounded down %10.2lf\n",
          down);
   printf("number rounded up   %10.2lf\n",
          up); <P>   return 0;
}
  
  
  </P>
 楼主| 发表于 2004-5-8 17:37:00 | 显示全部楼层
<>函数名: flushall
功  能: 清除所有缓冲区
用  法: int flushall(void);
程序例: <>#include &lt;stdio.h&gt; <>int main(void)
{
   FILE *stream; <P>   /* create a file */
   stream = fopen("DUMMY.FIL", "w"); <P>   /* flush all open streams */
   printf("%d streams were flushed.\n",
   flushall()); <P>   /* close the file */
   fclose(stream);
   return 0;
}
  
  
</P>
 楼主| 发表于 2004-5-8 17:37:09 | 显示全部楼层
<>函数名: fmod
功  能: 计算x对y的模, 即x/y的余数
用  法: double fmod(double x, double y);
程序例: <>#include &lt;stdio.h&gt;
#include &lt;math.h&gt; <>int main(void)
{
   double x = 5.0, y = 2.0;
   double result; <P>   result = fmod(x,y);
   printf("The remainder of (%lf / %lf) is \
          %lf\n", x, y, result);
   return 0;
}
  
  
  </P>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-26 20:45 , Processed in 0.049565 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表