C语言函数---R

本文由 书画小说软件 整理发布 内容与本软件无关
更惬意的读、更舒心的写、更轻松的发布

最全古典小说网 由本软件发布所得

函数名: raise

功 能: 向正在执行的程序发送一个信号

用 法: int raise(int sig);

程序例:

#include <signal.h>
int main(void) 
{ 
   int a, b;
   a = 10;
   b = 0;
   if (b == 0) 
   /* preempt divide by zero error */
      raise(SIGFPE);
   a = a / b;
   return 0;
} 
  
  

函数名: rand

功 能: 随机数发生器

用 法: void rand(void);

程序例:

#include <stdlib.h>
#include <stdio.h>
int main(void) 
{ 
   int i;
   printf("Ten random numbers from 0 to 99\n\n");
   for(i=0; i<10; i++)
      printf("%d\n", rand() % 100);
   return 0;
} 
  
  

函数名: randbrd

功 能: 随机块读

用 法: int randbrd(struct fcb *fcbptr, int reccnt);

程序例:

#include <process.h>
#include <string.h>
#include <stdio.h>
#include <dos.h>
int main(void) 
{ 
   char far *save_dta;
   char line[80], buffer[256];
   struct fcb blk;
   int i, result;
   /* get user input file name for dta */
   printf("Enter drive and file name (no path - i.e. a:file.dat)\n");
   gets(line);
   /* put file name in fcb */
   if (!parsfnm(line, &blk, 1)) 
   { 
      printf("Error in call to parsfnm\n");
      exit(1);
   } 
   printf("Drive #%d  File: %s\n\n", blk.fcb_drive, blk.fcb_name);
   /* open file with DOS FCB open file */
   bdosptr(0x0F, &blk, 0);
   /* save old dta, and set new one */
   save_dta = getdta();
   setdta(buffer);
   /* set up info for the new dta */
   blk.fcb_recsize = 128;
   blk.fcb_random = 0L;
   result = randbrd(&blk, 1);
   /* check results from randbrd */
   if (!result) 
      printf("Read OK\n\n");
   else 
   { 
      perror("Error during read");
      exit(1);
   } 
   /* read in data from the new dta */
   printf("The first 128 characters are:\n");
   for (i=0; i<128; i++)
      putchar(buffer[i]);
   /* restore previous dta */
   setdta(save_dta);
   return 0;
} 
  

函数名: randbwr

功 能: 随机块写

用 法: int randbwr(struct fcp *fcbptr, int reccnt);

程序例:

#include <process.h>
#include <string.h>
#include <stdio.h>
#include <dos.h>
int main(void) 
{ 
   char far *save_dta;
   char line[80];
   char buffer[256] = "RANDBWR test!";
   struct fcb blk;
   int result;
   /* get new file name from user */
   printf("Enter a file name to create (no path - ie. a:file.dat\n");
   gets(line);
   /* parse the new file name to the dta */
   parsfnm(line,&blk,1);
   printf("Drive #%d  File: %s\n", blk.fcb_drive, blk.fcb_name);
   /* request DOS services to create file */
   if (bdosptr(0x16, &blk, 0) == -1) 
   { 
      perror("Error creating file");
      exit(1);
   } 
   /* save old dta and set new dta */
   save_dta = getdta();
   setdta(buffer);
   /* write new records */
   blk.fcb_recsize = 256;
   blk.fcb_random = 0L;
   result = randbwr(&blk, 1);
   if (!result) 
      printf("Write OK\n");
   else 
   { 
      perror("Disk error");
      exit(1);
   } 
   /* request DOS services to close the file */
   if (bdosptr(0x10, &blk, 0) == -1) 
   { 
      perror("Error closing file");
      exit(1);
   } 
   /* reset the old dta */
   setdta(save_dta);
   return 0;
} 
  
  

函数名: random

功 能: 随机数发生器

用 法: int random(int num);

程序例:

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
/* 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;
} 
  
  

函数名: randomize

功 能: 初始化随机数发生器

用 法: void randomize(void);

程序例:

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main(void) 
{ 
   int i;
   randomize();
   printf("Ten random numbers from 0 to 99\n\n");
   for(i=0; i<10; i++)
       printf("%d\n", rand() % 100);
   return 0;
} 
  
  

函数名: read

功 能: 从文件中读

用 法: int read(int handle, void *buf, int nbyte);

程序例:

#include <stdio.h>
#include <io.h>
#include <alloc.h>
#include <fcntl.h>
#include <process.h>
#include <sys\stat.h>
int main(void) 
{ 
   void *buf;
   int handle, bytes;
   buf = malloc(10);
/*
   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);
   } 
   if ((bytes = read(handle, buf, 10)) == -1) { 
      printf("Read Failed.\n");
      exit(1);
   } 
   else { 
      printf("Read: %d bytes read.\n", bytes);
   } 
   return 0;
} 
  
  

函数名: realloc

功 能: 重新分配主存

用 法: void *realloc(void *ptr, unsigned newsize);

程序例:

#include <stdio.h>
#include <alloc.h>
#include <string.h>
int main(void) 
{ 
   char *str;
   /* allocate memory for string */
   str = malloc(10);
   /* copy "Hello" into string */
   strcpy(str, "Hello");
   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);
   /* free memory */
   free(str);
   return 0;
} 
  
  

函数名: rectangle

功 能: 画一个矩形

用 法: void far rectangle(int left, int top, int right, int bottom);

程序例:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void) 
{ 
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int left, top, right, bottom;
   /* initialize graphics and local variables */
   initgraph(&gdriver, &gmode, "");
   /* 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 */
   } 
   left = getmaxx() / 2 - 50;
   top = getmaxy() / 2 - 50;
   right = getmaxx() / 2 + 50;
   bottom = getmaxy() / 2 + 50;
   /* draw a rectangle */
   rectangle(left,top,right,bottom);
   /* clean up */
   getch();
   closegraph();
   return 0;
} 
  
  

函数名: registerbgidriver

功 能: 登录已连接进来的图形驱动程序代码

用 法: int registerbgidriver(void(*driver)(void));

程序例:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void) 
{ 
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   /* register a driver that was added into graphics.lib */
   errorcode = registerbgidriver(EGAVGA_driver);
   /* report any registration errors */
   if (errorcode < 0) 
   { 
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1); /* terminate with an error code */
   } 
   /* initialize graphics and local variables */
   initgraph(&gdriver, &gmode, "");
   /* 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 */
   } 
   /* draw a line */
   line(0, 0, getmaxx(), getmaxy());
   /* clean up */
   getch();
   closegraph();
   return 0;
} 
  
  

函数名: remove

功 能: 删除一个文件

用 法: int remove(char *filename);

程序例:

#include <stdio.h>
int main(void) 
{ 
   char file[80];
   /* prompt for file name to delete */
   printf("File to delete: ");
   gets(file);
   /* delete the file */
   if (remove(file) == 0) 
      printf("Removed %s.\n",file);
   else 
      perror("remove");
   return 0;
} 
  
  

函数名: rename

功 能: 重命名文件

用 法: int rename(char *oldname, char *newname);

程序例:

#include <stdio.h>
int main(void) 
{ 
   char oldname[80], newname[80];
   /* prompt for file to rename and new name */
   printf("File to rename: ");
   gets(oldname);
   printf("New name: ");
   gets(newname);
   /* Rename the file */
   if (rename(oldname, newname) == 0) 
      printf("Renamed %s to %s.\n", oldname, newname);
   else 
      perror("rename");
   return 0;
} 
  
  

函数名: restorecrtmode

功 能: 将屏幕模式恢复为先前的imitgraph设置

用 法: void far restorecrtmode(void);

程序例:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void) 
{ 
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int x, y;
   /* initialize graphics and local variables */
   initgraph(&gdriver, &gmode, "");
   /* 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 */
   } 
   x = getmaxx() / 2;
   y = getmaxy() / 2;
   /* output a message */
   settextjustify(CENTER_TEXT, CENTER_TEXT);
   outtextxy(x, y, "Press any key to exit graphics:");
   getch();
   /* restore system to text mode */
   restorecrtmode();
   printf("We‘re now in text mode.\n");
   printf("Press any key to return to graphics mode:");
   getch();
   /* return to graphics mode */
   setgraphmode(getgraphmode());
   /* 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:");
   /* clean up */
   getch();
   closegraph();
   return 0;
} 
  
  

函数名: rewind

功 能: 将文件指针重新指向一个流的开头

用 法: int rewind(FILE *stream);

程序例:

#include <stdio.h>
#include <dir.h>
 int main(void) 
 { 
    FILE *fp;
    char *fname = "TXXXXXX", *newname, first;
    newname = mktemp(fname);
    fp = fopen(newname,"w+");
    fprintf(fp,"abcdefghijklmnopqrstuvwxyz");
    rewind(fp);
    fscanf(fp,"%c",&first);
    printf("The first character is: %c\n",first);
    fclose(fp);
    remove(newname);
    return 0;
} 
  
  

函数名: rmdir

功 能: 删除DOS文件目录

用 法: int rmdir(char *stream);

程序例:

#include <stdio.h>
#include <conio.h>
#include <process.h>
#include <dir.h>
#define DIRNAME "testdir.$$$"
int main(void) 
{ 
   int stat;
   stat = mkdir(DIRNAME);
   if (!stat) 
          printf("Directory created\n");
   else 
   { 
      printf("Unable to create directory\n");
      exit(1);
   } 
   getch();
   system("dir/p");
   getch();
   stat = rmdir(DIRNAME);
   if (!stat) 
          printf("\nDirectory deleted\n");
   else 
   { 
   perror("\nUnable to delete directory\n");
      exit(1);
   } 
   return 0;
} 
  
  
  
  
  
 

书画小说软件 制作更惬意的读、更舒心的写、更轻松的发布

最全古典小说网 由本软件发布所得

时间: 10-18

C语言函数---R的相关文章

C语言K&R习题系列——使用缓冲区函数接受长字符输入

原题: Write a program to print all input lines that are longer than 80 characters.  ,实现起来不算难,关键是用到了缓冲区,很不错的一种思想! /* Write a program to print all input lines  * that are longer than 80 characters  */    #include < stdio.h >    #define MINLENGTH 81    /

从linux0.11中起动部分代码看汇编调用c语言函数

上一篇分析了c语言的函数调用栈情况,知道了c语言的函数调用机制后,我们来看一下,linux0.11中起动部分的代码是如何从汇编跳入c语言函数的.在LINUX 0.11中的head.s文件中会看到如下一段代码(linux0.11的启动分析部分会在另一部分中再分析,由于此文仅涉及c与汇编代码的问题,). after_page_tables: pushl $0 # These are the parameters to main :-) pushl $0 pushl $0 pushl $L6 # re

09-黑马程序员------C 语言学习笔记--- C语言函数

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 一 函数定义 01 函数分为库函数和自定义函数两种 函数一般格式: 函数返回值类型 函数名(数据类型 参数1, 数据类型 参数2,……..) { 函数体: } *函数若不需要返回值类型,则用void表示 *函数的标志是括号,不管

05. Go 语言函数

Go 语言函数 函数是组织好的.可重复使用的.用来实现单一或相关联功能的代码段,其可以提高应用的模块性和代码的重复利用率. Go 语言支持普通函数.匿名函数和闭包,从设计上对函数进行了优化和改进,让函数使用起来更加方便. Go 语言的函数属于"一等公民"(first-class),也就是说: 函数本身可以作为值进行传递. 支持匿名函数和闭包(closure). 函数可以满足接口. Go语言函数声明(函数定义) 函数构成了代码执行的逻辑结构,在Go语言中,函数的基本组成为:关键字 fun

C#委托与C语言函数指针及函数指针数组

C#委托与C语言函数指针及函数指针数组 在使用C#时总会为委托而感到疑惑,但现在总新温习了一遍C语言后,才真正理解的委托. 其实委托就类似于C/C++里的函数指针,在函数传参时传递的是函数指针,在调用的时候通过指针访问这个函数. 在C语言中函数指针的申明如下: //可以理解为申明一个指着变量 Func ,它的类型是 返回Type(可以为 void )类型的参数,接收 (Type one,Type two,...)类型的//参数(可以不接受参数). Type *Func(Type one,Type

c 语言 函数的整理 百度脑图版本

下面整理一下C语言函数的知识点 :使用百度脑图进行整理,详情请看上传的图片: 版权声明:本文为博主原创文章,未经博主允许不得转载.

汇编1 ----C语言函数1

构造以下C程序并在合适位置插入breakpoints 在Visual Studio 2015 CTP6对其反汇编. 下面来分析 z = add(1, 2); 009C170E 6A 02 push 2 ????int z; ????z = add(1, 2); 009C1710 6A 01 push 1 009C1712 E8 8D FA FF FF call 009C11A4 009C1717 83 C4 08 add esp,8 009C171A 89 45 F8 mov dword ptr

(转)如何编写有多个返回值的C语言函数

1引言    笔者从事C语言教学多年,在教学中学生们常常会问到如何编写具有多个返回值的C语言函数.编写有多个返回值的函数是所有C语言教材里均没有提到的知识点,但在实际教学与应用的过程中我们都有可能会遇到这样的问题.有学生也尝试了不少方法:如把多个需要返回的值作相应的处理后变成一个可以用return语句返回的数据,再在主调函数中拆开返回的数据使之变成几个值:或者把需要返回多个值的一个函数分开几个函数去实现多个值的返回.这些方法虽然最终都能实现返回要求的多个值,但从程序算法的合理性与最优化方面去考虑

Linux汇编GAS调用C语言函数实例

Blum的书上只讲了C语言调用汇编,没讲汇编调用C语言.我自己尝试了下. 最终试验成功了,在此写出与大家分享.期间历经无数错误,无数异常,我不是醉了,而是跪了...好在最后好了. 程序实现一个换值功能,在main.s里定义a=10,b=20,然后调用C语言函数把a,b换值. 新建两个文件分别为main.s的汇编文件,还有pro.c的C语言函数文件. main.s的代码如下: .section .data a: .int 10 b: .int 20 .section .text .globl ma