数模论坛

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

C语言的函数!

  [复制链接]
 楼主| 发表于 2004-5-10 16:30:36 | 显示全部楼层
<>函数名: randbwr
功  能: 随机块写
用  法: int randbwr(struct fcp *fcbptr, int reccnt);
程序例: <>#include &lt;process.h&gt;
#include &lt;string.h&gt;
#include &lt;stdio.h&gt;
#include &lt;dos.h&gt; <>int main(void)
{
   char far *save_dta;
   char line[80];
   char buffer[256] = "RANDBWR test!";
   struct fcb blk;
   int result; <P>   /* get new file name from user */
   printf("Enter a file name to create (no path - ie. a:file.dat\n");
   gets(line); <P>   /* parse the new file name to the dta */
   parsfnm(line,&amp;blk,1);
   printf("Drive #%d  File: %s\n", blk.fcb_drive, blk.fcb_name); <P>   /* request DOS services to create file */
   if (bdosptr(0x16, &amp;blk, 0) == -1)
   {
      perror("Error creating file");
      exit(1);
   } <P>   /* save old dta and set new dta */
   save_dta = getdta();
   setdta(buffer); <P>   /* write new records */
   blk.fcb_recsize = 256;
   blk.fcb_random = 0L;
   result = randbwr(&amp;blk, 1); <P>   if (!result)
      printf("Write OK\n");
   else
   {
      perror("Disk error");
      exit(1);
   } <P>   /* request DOS services to close the file */
   if (bdosptr(0x10, &amp;blk, 0) == -1)
   {
      perror("Error closing file");
      exit(1);
   } <P>   /* reset the old dta */
   setdta(save_dta); <P>   return 0;
}
  
</P>
 楼主| 发表于 2004-5-10 16:30:46 | 显示全部楼层
<>函数名: random
功  能: 随机数发生器
用  法: int random(int num);
程序例: <>#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include &lt;time.h&gt; <>/* prints a random number in the range 0 to 99 */
int main(void)
{
   randomize();
   printf("Random number in the 0-99 range: %d\n", random (100));
   return 0;
}
</P>
 楼主| 发表于 2004-5-10 16:30:55 | 显示全部楼层
<>函数名: randomize
功  能: 初始化随机数发生器
用  法: void randomize(void);
程序例: <>#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include &lt;time.h&gt; <>int main(void)
{
   int i; <P>   randomize();
   printf("Ten random numbers from 0 to 99\n\n");
   for(i=0; i&lt;10; i++)
       printf("%d\n", rand() % 100);
   return 0;
}
</P>
 楼主| 发表于 2004-5-10 16:31:06 | 显示全部楼层
<>函数名: read
功  能: 从文件中读
用  法: int read(int handle, void *buf, int nbyte);
程序例: <>#include &lt;stdio.h&gt;
#include &lt;io.h&gt;
#include &lt;alloc.h&gt;
#include &lt;fcntl.h&gt;
#include &lt;process.h&gt;
#include &lt;sys\stat.h&gt; <>int main(void)
{
   void *buf;
   int handle, bytes; <P>   buf = malloc(10); <P>/*
   Looks for a file in the current directory named TEST.$$$ and attempts
   to read 10 bytes from it.  To use this example you should create the
   file TEST.$$$
*/
   if ((handle =
      open("TEST.$$$", O_RDONLY | O_BINARY, S_IWRITE | S_IREAD)) == -1)
   {
      printf("Error Opening File\n");
      exit(1);
   } <P>   if ((bytes = read(handle, buf, 10)) == -1) {
      printf("Read Failed.\n");
      exit(1);
   }
   else {
      printf("Read: %d bytes read.\n", bytes);
   }
   return 0;
}
  
</P>
 楼主| 发表于 2004-5-10 16:31:16 | 显示全部楼层
<>函数名: realloc
功  能: 重新分配主存
用  法: void *realloc(void *ptr, unsigned newsize);
程序例: <>#include &lt;stdio.h&gt;
#include &lt;alloc.h&gt;
#include &lt;string.h&gt; <>int main(void)
{
   char *str; <P>   /* allocate memory for string */
   str = malloc(10); <P>   /* copy "Hello" into string */
   strcpy(str, "Hello"); <P>   printf("String is %s\n  Address is %p\n", str, str);
   str = realloc(str, 20);
   printf("String is %s\n  New address is %p\n", str, str); <P>   /* free memory */
   free(str); <P>   return 0;
}
</P>
 楼主| 发表于 2004-5-10 16:31:27 | 显示全部楼层
<>函数名: rectangle
功  能: 画一个矩形
用  法: void far rectangle(int left, int top, int right, int bottom);
程序例: <>#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 left, top, right, bottom; <P>   /* initialize graphics and 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>   left = getmaxx() / 2 - 50;
   top = getmaxy() / 2 - 50;
   right = getmaxx() / 2 + 50;
   bottom = getmaxy() / 2 + 50; <P>   /* draw a rectangle */
   rectangle(left,top,right,bottom); <P>   /* clean up */
   getch();
   closegraph();
   return 0;
}
  
</P>
 楼主| 发表于 2004-5-10 16:32:00 | 显示全部楼层
<>函数名: registerbgidriver
功  能: 登录已连接进来的图形驱动程序代码
用  法: int registerbgidriver(void(*driver)(void));
程序例: <>#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; <P>   /* register a driver that was added into graphics.lib */
   errorcode = registerbgidriver(EGAVGA_driver); <P>   /* report any registration errors */
   if (errorcode &lt; 0)
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1); /* terminate with an error code */
   } <P>   /* initialize graphics and 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>   /* draw a line */
   line(0, 0, getmaxx(), getmaxy()); <P>   /* clean up */
   getch();
   closegraph();
   return 0;
}
  
  </P>
 楼主| 发表于 2004-5-10 16:32:10 | 显示全部楼层
<>函数名: remove
功  能: 删除一个文件
用  法: int remove(char *filename);
程序例: <>#include &lt;stdio.h&gt; <>int main(void)
{
   char file[80]; <P>   /* prompt for file name to delete */
   printf("File to delete: ");
   gets(file); <P>   /* delete the file */
   if (remove(file) == 0)
      printf("Removed %s.\n",file);
   else
      perror("remove"); <P>   return 0;
}
  
  </P>
 楼主| 发表于 2004-5-10 16:32:21 | 显示全部楼层
<>函数名: rename
功  能: 重命名文件
用  法: int rename(char *oldname, char *newname);
程序例: <>#include &lt;stdio.h&gt; <>int main(void)
{
   char oldname[80], newname[80]; <P>   /* prompt for file to rename and new name */
   printf("File to rename: ");
   gets(oldname);
   printf("New name: ");
   gets(newname); <P>   /* Rename the file */
   if (rename(oldname, newname) == 0)
      printf("Renamed %s to %s.\n", oldname, newname);
   else
      perror("rename"); <P>   return 0;
}
</P>
 楼主| 发表于 2004-5-10 16:32:34 | 显示全部楼层
<>函数名: restorecrtmode
功  能: 将屏幕模式恢复为先前的imitgraph设置
用  法: void far restorecrtmode(void);
程序例: <>#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 x, y; <P>   /* initialize graphics and 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>   x = getmaxx() / 2;
   y = getmaxy() / 2; <P>   /* output a message */
   settextjustify(CENTER_TEXT, CENTER_TEXT);
   outtextxy(x, y, "Press any key to exit graphics:");
   getch(); <P>   /* restore system to text mode */
   restorecrtmode();
   printf("We're now in text mode.\n");
   printf("Press any key to return to graphics mode:");
   getch(); <P>   /* return to graphics mode */
   setgraphmode(getgraphmode()); <P>   /* 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:"); <P>   /* clean up */
   getch();
   closegraph();
   return 0;
}
  
</P>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

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

GMT+8, 2024-11-27 06:12 , Processed in 0.048417 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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