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

📄 fr.htm

📁 c语言基本的应用便于初学者学习使用 简单易懂
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<meta name="Author" content="wdg">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>网上学堂 --> C语言编程宝典之一 -->函数名: r</title>
</head>

<body>
<div align="center"><center>

<table border="1" cellpadding="4" width="640"
bordercolordark="#FFFFFF" bordercolorlight="#FFFFFF">
    <tr>
        <td bgcolor="#FFE6B0" bordercolor="#8080FF" class="p9"><font
        color="#BB0000">导航条:--&gt;</font> <a
        href="../../index.html">网上学堂</a> --&gt; <a
        href="../tcindex.htm"><font face="宋体">C</font>语言编程宝典之一</a>
        --&gt;函数名: r</td>
    </tr>
    <tr>
        <td bordercolor="#8080FF" class="p9"><p>函数名: raise <br>
        功&nbsp; 能: 向正在执行的程序发送一个信号
        <br>
        用&nbsp; 法: int raise(int sig); <br>
        程序例: </p>
        <p>#include &lt;signal.h&gt; </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; int a, b; </p>
        <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>
        <p>函数名: rand <br>
        功&nbsp; 能: 随机数发生器 <br>
        用&nbsp; 法: void rand(void); <br>
        程序例: </p>
        <p>#include &lt;stdlib.h&gt; <br>
        #include &lt;stdio.h&gt; </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; int i; </p>
        <p>&nbsp;&nbsp; printf(&quot;Ten random numbers from 0 to
        99\n\n&quot;); <br>
        &nbsp;&nbsp; for(i=0; i&lt;10; i++) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;%d\n&quot;,
        rand() % 100); <br>
        &nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; <br>
        &nbsp; </p>
        <p>函数名: randbrd <br>
        功&nbsp; 能: 随机块读 <br>
        用&nbsp; 法: int randbrd(struct fcb *fcbptr, int
        reccnt); <br>
        程序例: </p>
        <p>#include &lt;process.h&gt; <br>
        #include &lt;string.h&gt; <br>
        #include &lt;stdio.h&gt; <br>
        #include &lt;dos.h&gt; </p>
        <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>
        <p>&nbsp;&nbsp; /* get user input file name for dta */ <br>
        &nbsp;&nbsp; printf(&quot;Enter drive and file name (no
        path - i.e. a:file.dat)\n&quot;); <br>
        &nbsp;&nbsp; gets(line); </p>
        <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(&quot;Error in call
        to parsfnm\n&quot;); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); <br>
        &nbsp;&nbsp; } <br>
        &nbsp;&nbsp; printf(&quot;Drive #%d&nbsp; File:
        %s\n\n&quot;, blk.fcb_drive, blk.fcb_name); </p>
        <p>&nbsp;&nbsp; /* open file with DOS FCB open file */ <br>
        &nbsp;&nbsp; bdosptr(0x0F, &amp;blk, 0); </p>
        <p>&nbsp;&nbsp; /* save old dta, and set new one */ <br>
        &nbsp;&nbsp; save_dta = getdta(); <br>
        &nbsp;&nbsp; setdta(buffer); </p>
        <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>
        <p>&nbsp;&nbsp; /* check results from randbrd */ <br>
        &nbsp;&nbsp; if (!result) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Read
        OK\n\n&quot;); <br>
        &nbsp;&nbsp; else <br>
        &nbsp;&nbsp; { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; perror(&quot;Error during
        read&quot;); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); <br>
        &nbsp;&nbsp; } </p>
        <p>&nbsp;&nbsp; /* read in data from the new dta */ <br>
        &nbsp;&nbsp; printf(&quot;The first 128 characters
        are:\n&quot;); <br>
        &nbsp;&nbsp; for (i=0; i&lt;128; i++) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; putchar(buffer[i]); </p>
        <p>&nbsp;&nbsp; /* restore previous dta */ <br>
        &nbsp;&nbsp; setdta(save_dta); </p>
        <p>&nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; </p>
        <p>函数名: randbwr <br>
        功&nbsp; 能: 随机块写 <br>
        用&nbsp; 法: int randbwr(struct fcp *fcbptr, int
        reccnt); <br>
        程序例: </p>
        <p>#include &lt;process.h&gt; <br>
        #include &lt;string.h&gt; <br>
        #include &lt;stdio.h&gt; <br>
        #include &lt;dos.h&gt; </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; char far *save_dta; <br>
        &nbsp;&nbsp; char line[80]; <br>
        &nbsp;&nbsp; char buffer[256] = &quot;RANDBWR
        test!&quot;; <br>
        &nbsp;&nbsp; struct fcb blk; <br>
        &nbsp;&nbsp; int result; </p>
        <p>&nbsp;&nbsp; /* get new file name from user */ <br>
        &nbsp;&nbsp; printf(&quot;Enter a file name to create (no
        path - ie. a:file.dat\n&quot;); <br>
        &nbsp;&nbsp; gets(line); </p>
        <p>&nbsp;&nbsp; /* parse the new file name to the dta */ <br>
        &nbsp;&nbsp; parsfnm(line,&amp;blk,1); <br>
        &nbsp;&nbsp; printf(&quot;Drive #%d&nbsp; File:
        %s\n&quot;, blk.fcb_drive, blk.fcb_name); </p>
        <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(&quot;Error
        creating file&quot;); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); <br>
        &nbsp;&nbsp; } </p>
        <p>&nbsp;&nbsp; /* save old dta and set new dta */ <br>
        &nbsp;&nbsp; save_dta = getdta(); <br>
        &nbsp;&nbsp; setdta(buffer); </p>
        <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>
        <p>&nbsp;&nbsp; if (!result) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Write
        OK\n&quot;); <br>
        &nbsp;&nbsp; else <br>
        &nbsp;&nbsp; { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; perror(&quot;Disk
        error&quot;); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); <br>
        &nbsp;&nbsp; } </p>
        <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(&quot;Error closing
        file&quot;); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); <br>
        &nbsp;&nbsp; } </p>
        <p>&nbsp;&nbsp; /* reset the old dta */ <br>
        &nbsp;&nbsp; setdta(save_dta); </p>
        <p>&nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; <br>
        &nbsp; </p>
        <p>函数名: random <br>
        功&nbsp; 能: 随机数发生器 <br>
        用&nbsp; 法: int random(int num); <br>
        程序例: </p>
        <p>#include &lt;stdlib.h&gt; <br>
        #include &lt;stdio.h&gt; <br>
        #include &lt;time.h&gt; </p>
        <p>/* prints a random number in the range 0 to 99 */ <br>
        int main(void) <br>
        { <br>
        &nbsp;&nbsp; randomize(); <br>
        &nbsp;&nbsp; printf(&quot;Random number in the 0-99
        range: %d\n&quot;, random (100)); <br>
        &nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; <br>
        &nbsp; </p>
        <p>函数名: randomize <br>
        功&nbsp; 能: 初始化随机数发生器 <br>
        用&nbsp; 法: void randomize(void); <br>
        程序例: </p>
        <p>#include &lt;stdlib.h&gt; <br>
        #include &lt;stdio.h&gt; <br>
        #include &lt;time.h&gt; </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; int i; </p>
        <p>&nbsp;&nbsp; randomize(); <br>
        &nbsp;&nbsp; printf(&quot;Ten random numbers from 0 to
        99\n\n&quot;); <br>
        &nbsp;&nbsp; for(i=0; i&lt;10; i++) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        printf(&quot;%d\n&quot;, rand() % 100); <br>
        &nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; <br>
        &nbsp; </p>
        <p>函数名: read <br>
        功&nbsp; 能: 从文件中读 <br>
        用&nbsp; 法: int read(int handle, void *buf, int
        nbyte); <br>
        程序例: </p>
        <p>#include &lt;stdio.h&gt; <br>
        #include &lt;io.h&gt; <br>
        #include &lt;alloc.h&gt; <br>
        #include &lt;fcntl.h&gt; <br>
        #include &lt;process.h&gt; <br>
        #include &lt;sys\stat.h&gt; </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; void *buf; <br>
        &nbsp;&nbsp; int handle, bytes; </p>
        <p>&nbsp;&nbsp; buf = malloc(10); </p>
        <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(&quot;TEST.$$$&quot;,
        O_RDONLY | O_BINARY, S_IWRITE | S_IREAD)) == -1) <br>
        &nbsp;&nbsp; { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Error Opening
        File\n&quot;); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); <br>
        &nbsp;&nbsp; } </p>
        <p>&nbsp;&nbsp; if ((bytes = read(handle, buf, 10)) ==
        -1) { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Read
        Failed.\n&quot;); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); <br>
        &nbsp;&nbsp; } <br>
        &nbsp;&nbsp; else { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Read: %d
        bytes read.\n&quot;, bytes); <br>
        &nbsp;&nbsp; } <br>
        &nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; <br>
        &nbsp; </p>
        <p>函数名: realloc <br>
        功&nbsp; 能: 重新分配主存 <br>
        用&nbsp; 法: void *realloc(void *ptr, unsigned
        newsize); <br>
        程序例: </p>
        <p>#include &lt;stdio.h&gt; <br>
        #include &lt;alloc.h&gt; <br>
        #include &lt;string.h&gt; </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; char *str; </p>
        <p>&nbsp;&nbsp; /* allocate memory for string */ <br>
        &nbsp;&nbsp; str = malloc(10); </p>
        <p>&nbsp;&nbsp; /* copy &quot;Hello&quot; into string */ <br>
        &nbsp;&nbsp; strcpy(str, &quot;Hello&quot;); </p>
        <p>&nbsp;&nbsp; printf(&quot;String is %s\n&nbsp; Address
        is %p\n&quot;, str, str); <br>
        &nbsp;&nbsp; str = realloc(str, 20); <br>
        &nbsp;&nbsp; printf(&quot;String is %s\n&nbsp; New
        address is %p\n&quot;, str, str); </p>
        <p>&nbsp;&nbsp; /* free memory */ <br>
        &nbsp;&nbsp; free(str); </p>
        <p>&nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; <br>
        &nbsp; </p>

⌨️ 快捷键说明

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