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

📄 fr.htm

📁 C程序宝藏,内有标准C的详细介绍,适合自学,初学人员参考
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
   <META NAME="Author" CONTENT="wdg">
   <META NAME="GENERATOR" CONTENT="Mozilla/4.03 [en] (Win95; I) [Netscape]">
   <TITLE>fr</TITLE>
</HEAD>
<BODY>
&nbsp;

<P>函数名: raise
<BR>功&nbsp; 能: 向正在执行的程序发送一个信号
<BR>用&nbsp; 法: int raise(int sig);
<BR>程序例:

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

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; int a, b;

<P>&nbsp;&nbsp; a = 10;
<BR>&nbsp;&nbsp; b = 0;
<BR>&nbsp;&nbsp; if (b == 0)
<BR>&nbsp;&nbsp; /* preempt divide by zero error */
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; raise(SIGFPE);
<BR>&nbsp;&nbsp; a = a / b;
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: rand
<BR>功&nbsp; 能: 随机数发生器
<BR>用&nbsp; 法: void rand(void);
<BR>程序例:

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

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

<P>&nbsp;&nbsp; printf("Ten random numbers from 0 to 99\n\n");
<BR>&nbsp;&nbsp; for(i=0; i&lt;10; i++)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%d\n", rand() % 100);
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: randbrd
<BR>功&nbsp; 能: 随机块读
<BR>用&nbsp; 法: int randbrd(struct fcb *fcbptr, int reccnt);
<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 far *save_dta;
<BR>&nbsp;&nbsp; char line[80], buffer[256];
<BR>&nbsp;&nbsp; struct fcb blk;
<BR>&nbsp;&nbsp; int i, result;

<P>&nbsp;&nbsp; /* get user input file name for dta */
<BR>&nbsp;&nbsp; printf("Enter drive and file name (no path - i.e. a:file.dat)\n");
<BR>&nbsp;&nbsp; gets(line);

<P>&nbsp;&nbsp; /* put file name in fcb */
<BR>&nbsp;&nbsp; if (!parsfnm(line, &amp;blk, 1))
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Error in call to parsfnm\n");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<BR>&nbsp;&nbsp; }
<BR>&nbsp;&nbsp; printf("Drive #%d&nbsp; File: %s\n\n", blk.fcb_drive,
blk.fcb_name);

<P>&nbsp;&nbsp; /* open file with DOS FCB open file */
<BR>&nbsp;&nbsp; bdosptr(0x0F, &amp;blk, 0);

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

<P>&nbsp;&nbsp; /* set up info for the new dta */
<BR>&nbsp;&nbsp; blk.fcb_recsize = 128;
<BR>&nbsp;&nbsp; blk.fcb_random = 0L;
<BR>&nbsp;&nbsp; result = randbrd(&amp;blk, 1);

<P>&nbsp;&nbsp; /* check results from randbrd */
<BR>&nbsp;&nbsp; if (!result)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Read OK\n\n");
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; perror("Error during read");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<BR>&nbsp;&nbsp; }

<P>&nbsp;&nbsp; /* read in data from the new dta */
<BR>&nbsp;&nbsp; printf("The first 128 characters are:\n");
<BR>&nbsp;&nbsp; for (i=0; i&lt;128; i++)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; putchar(buffer[i]);

<P>&nbsp;&nbsp; /* restore previous dta */
<BR>&nbsp;&nbsp; setdta(save_dta);

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

<P>函数名: randbwr
<BR>功&nbsp; 能: 随机块写
<BR>用&nbsp; 法: int randbwr(struct fcp *fcbptr, int reccnt);
<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 far *save_dta;
<BR>&nbsp;&nbsp; char line[80];
<BR>&nbsp;&nbsp; char buffer[256] = "RANDBWR 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 (no path - ie. a:file.dat\n");
<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("Drive #%d&nbsp; File: %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);

<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);

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

<P>函数名: random
<BR>功&nbsp; 能: 随机数发生器
<BR>用&nbsp; 法: int random(int num);
<BR>程序例:

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

<P>/* prints a random number in the range 0 to 99 */
<BR>int main(void)
<BR>{
<BR>&nbsp;&nbsp; randomize();
<BR>&nbsp;&nbsp; printf("Random number in the 0-99 range: %d\n", random
(100));
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: randomize
<BR>功&nbsp; 能: 初始化随机数发生器
<BR>用&nbsp; 法: void randomize(void);
<BR>程序例:

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

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

<P>&nbsp;&nbsp; randomize();
<BR>&nbsp;&nbsp; printf("Ten random numbers from 0 to 99\n\n");
<BR>&nbsp;&nbsp; for(i=0; i&lt;10; i++)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%d\n", rand() % 100);
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: read
<BR>功&nbsp; 能: 从文件中读
<BR>用&nbsp; 法: int read(int handle, void *buf, int nbyte);
<BR>程序例:

<P>#include &lt;stdio.h>
<BR>#include &lt;io.h>
<BR>#include &lt;alloc.h>
<BR>#include &lt;fcntl.h>
<BR>#include &lt;process.h>
<BR>#include &lt;sys\stat.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; void *buf;
<BR>&nbsp;&nbsp; int handle, bytes;

<P>&nbsp;&nbsp; buf = malloc(10);

<P>/*
<BR>&nbsp;&nbsp; Looks for a file in the current directory named TEST.$$$
and attempts
<BR>&nbsp;&nbsp; to read 10 bytes from it.&nbsp; To use this example you
should create the
<BR>&nbsp;&nbsp; file TEST.$$$
<BR>*/
<BR>&nbsp;&nbsp; if ((handle =
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; open("TEST.$$$", O_RDONLY | O_BINARY,
S_IWRITE | S_IREAD)) == -1)
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Error Opening File\n");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<BR>&nbsp;&nbsp; }

<P>&nbsp;&nbsp; if ((bytes = read(handle, buf, 10)) == -1) {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Read Failed.\n");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<BR>&nbsp;&nbsp; }
<BR>&nbsp;&nbsp; else {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Read: %d bytes read.\n", bytes);
<BR>&nbsp;&nbsp; }
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: realloc
<BR>功&nbsp; 能: 重新分配主存
<BR>用&nbsp; 法: void *realloc(void *ptr, unsigned newsize);
<BR>程序例:

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

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; char *str;

<P>&nbsp;&nbsp; /* allocate memory for string */
<BR>&nbsp;&nbsp; str = malloc(10);

<P>&nbsp;&nbsp; /* copy "Hello" into string */
<BR>&nbsp;&nbsp; strcpy(str, "Hello");

<P>&nbsp;&nbsp; printf("String is %s\n&nbsp; Address is %p\n", str, str);
<BR>&nbsp;&nbsp; str = realloc(str, 20);
<BR>&nbsp;&nbsp; printf("String is %s\n&nbsp; New address is %p\n", str,
str);

<P>&nbsp;&nbsp; /* free memory */
<BR>&nbsp;&nbsp; free(str);

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

⌨️ 快捷键说明

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