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

📄 ff.htm

📁 c语言基本的应用便于初学者学习使用 简单易懂
💻 HTM
📖 第 1 页 / 共 4 页
字号:
        &nbsp;&nbsp; fseek(stream, SEEK_SET, 0); </p>
        <p>&nbsp;&nbsp; /* read the data and display it */ <br>
        &nbsp;&nbsp; fread(buf, strlen(msg)+1, 1, stream); <br>
        &nbsp;&nbsp; printf(&quot;%s\n&quot;, buf); </p>
        <p>&nbsp;&nbsp; fclose(stream); <br>
        &nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; <br>
        &nbsp; </p>
        <p>函数名: free <br>
        功&nbsp; 能: 释放已分配的块 <br>
        用&nbsp; 法: void free(void *ptr); <br>
        程序例: </p>
        <p>#include &lt;string.h&gt; <br>
        #include &lt;stdio.h&gt; <br>
        #include &lt;alloc.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; to string */ <br>
        &nbsp;&nbsp; strcpy(str, &quot;Hello&quot;); </p>
        <p>&nbsp;&nbsp; /* display string */ <br>
        &nbsp;&nbsp; printf(&quot;String is %s\n&quot;, str); </p>
        <p>&nbsp;&nbsp; /* free memory */ <br>
        &nbsp;&nbsp; free(str); </p>
        <p>&nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; </p>
        <p>函数名: freemem <br>
        功&nbsp; 能: 释放先前分配的DOS内存块 <br>
        用&nbsp; 法: int freemem(unsigned seg); <br>
        程序例: </p>
        <p>#include &lt;dos.h&gt; <br>
        #include &lt;alloc.h&gt; <br>
        #include &lt;stdio.h&gt; </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; unsigned int size, segp; <br>
        &nbsp;&nbsp; int stat; </p>
        <p>&nbsp;&nbsp; size = 64; /* (64 x 16) = 1024 bytes */ <br>
        &nbsp;&nbsp; stat = allocmem(size, &amp;segp); <br>
        &nbsp;&nbsp; if (stat &lt; 0) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Allocated
        memory at segment:\ <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %x\n&quot;, segp); <br>
        &nbsp;&nbsp; else <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Failed:
        maximum number of\ <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; paragraphs available is
        %u\n&quot;, <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stat); <br>
        &nbsp;&nbsp; freemem(segp); </p>
        <p>&nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; <br>
        &nbsp; </p>
        <p>函数名: freopen <br>
        功&nbsp; 能: 替换一个流 <br>
        用&nbsp; 法: FILE *freopen(char *filename, char *type,
        FILE *stream); <br>
        程序例: </p>
        <p>#include &lt;stdio.h&gt; </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; /* redirect standard output to a file */ <br>
        &nbsp;&nbsp; if (freopen(&quot;OUTPUT.FIL&quot;,
        &quot;w&quot;, stdout) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; == NULL) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fprintf(stderr,
        &quot;error redirecting\ <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        stdout\n&quot;); </p>
        <p>&nbsp;&nbsp; /* this output will go to a file */ <br>
        &nbsp;&nbsp; printf(&quot;This will go into a
        file.&quot;); </p>
        <p>&nbsp;&nbsp; /* close the standard output stream */ <br>
        &nbsp;&nbsp; fclose(stdout); </p>
        <p>&nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; <br>
        &nbsp; <br>
        &nbsp; </p>
        <p>函数名: frexp <br>
        功&nbsp; 能:
        把一个双精度数分解为尾数的指数 <br>
        用&nbsp; 法: double frexp(double value, int *eptr); <br>
        程序例: </p>
        <p>#include &lt;math.h&gt; <br>
        #include &lt;stdio.h&gt; </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; double mantissa, number; <br>
        &nbsp;&nbsp; int exponent; </p>
        <p>&nbsp;&nbsp; number = 8.0; <br>
        &nbsp;&nbsp; mantissa = frexp(number, &amp;exponent); </p>
        <p>&nbsp;&nbsp; printf(&quot;The number %lf is &quot;,
        number); <br>
        &nbsp;&nbsp; printf(&quot;%lf times two to the &quot;,
        mantissa); <br>
        &nbsp;&nbsp; printf(&quot;power of %d\n&quot;, exponent);
        </p>
        <p>&nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; <br>
        &nbsp; </p>
        <p>函数名: fscanf <br>
        功&nbsp; 能: 从一个流中执行格式化输入 <br>
        用&nbsp; 法: int fscanf(FILE *stream, char
        *format[,argument...]); <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;Input an integer: &quot;); </p>
        <p>&nbsp;&nbsp; /* read an integer from the <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; standard input stream */ <br>
        &nbsp;&nbsp; if (fscanf(stdin, &quot;%d&quot;, &amp;i)) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;The integer
        read was: %i\n&quot;, <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        i); <br>
        &nbsp;&nbsp; else <br>
        &nbsp;&nbsp; { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fprintf(stderr,
        &quot;Error reading an \ <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        integer from stdin.\n&quot;); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); <br>
        &nbsp;&nbsp; } <br>
        &nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; <br>
        &nbsp; <br>
        &nbsp; </p>
        <p>函数名: fseek <br>
        功&nbsp; 能: 重定位流上的文件指针 <br>
        用&nbsp; 法: int fseek(FILE *stream, long offset, int
        fromwhere); <br>
        程序例: </p>
        <p>#include &lt;stdio.h&gt; </p>
        <p>long filesize(FILE *stream); </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; FILE *stream; </p>
        <p>&nbsp;&nbsp; stream = fopen(&quot;MYFILE.TXT&quot;,
        &quot;w+&quot;); <br>
        &nbsp;&nbsp; fprintf(stream, &quot;This is a test&quot;);
        <br>
        &nbsp;&nbsp; printf(&quot;Filesize of MYFILE.TXT is %ld
        bytes\n&quot;, filesize(stream)); <br>
        &nbsp;&nbsp; fclose(stream); <br>
        &nbsp;&nbsp; return 0; <br>
        } </p>
        <p>long filesize(FILE *stream) <br>
        { <br>
        &nbsp;&nbsp; long curpos, length; </p>
        <p>&nbsp;&nbsp; curpos = ftell(stream); <br>
        &nbsp;&nbsp; fseek(stream, 0L, SEEK_END); <br>
        &nbsp;&nbsp; length = ftell(stream); <br>
        &nbsp;&nbsp; fseek(stream, curpos, SEEK_SET); <br>
        &nbsp;&nbsp; return length; <br>
        } <br>
        &nbsp; <br>
        &nbsp; <br>
        &nbsp; <br>
        &nbsp; <br>
        &nbsp; </p>
        <p>函数名: fsetpos <br>
        功&nbsp; 能: 定位流上的文件指针 <br>
        用&nbsp; 法: int fsetpos(FILE *stream, const fpos_t
        *pos); <br>
        程序例: </p>
        <p>#include &lt;stdlib.h&gt; <br>
        #include &lt;stdio.h&gt; </p>
        <p>void showpos(FILE *stream); </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; FILE *stream; <br>
        &nbsp;&nbsp; fpos_t filepos; </p>
        <p>&nbsp;&nbsp; /* open a file for update */ <br>
        &nbsp;&nbsp; stream = fopen(&quot;DUMMY.FIL&quot;,
        &quot;w+&quot;); </p>
        <p>&nbsp;&nbsp; /* save the file pointer position */ <br>
        &nbsp;&nbsp; fgetpos(stream, &amp;filepos); </p>
        <p>&nbsp;&nbsp; /* write some data to the file */ <br>
        &nbsp;&nbsp; fprintf(stream, &quot;This is a test&quot;);
        </p>
        <p>&nbsp;&nbsp; /* show the current file position */ <br>
        &nbsp;&nbsp; showpos(stream); </p>
        <p>&nbsp;&nbsp; /* set a new file position, display it */
        <br>
        &nbsp;&nbsp; if (fsetpos(stream, &amp;filepos) == 0) <br>
        &nbsp;&nbsp;&nbsp;&nbsp; showpos(stream); <br>
        &nbsp;&nbsp; else <br>
        &nbsp;&nbsp; { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fprintf(stderr,
        &quot;Error setting file \ <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pointer.\n&quot;); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); <br>
        &nbsp;&nbsp; } </p>
        <p>&nbsp;&nbsp; /* close the file */ <br>
        &nbsp;&nbsp; fclose(stream); <br>
        &nbsp;&nbsp; return 0; <br>
        } </p>
        <p>void showpos(FILE *stream) <br>
        { <br>
        &nbsp;&nbsp; fpos_t pos; </p>
        <p>&nbsp;&nbsp; /* display the current file pointer <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; position of a stream */ <br>
        &nbsp;&nbsp; fgetpos(stream, &amp;pos); <br>
        &nbsp;&nbsp; printf(&quot;File position: %ld\n&quot;,
        pos); <br>
        } <br>
        &nbsp; </p>
        <p>函数名: fstat <br>
        功&nbsp; 能: 获取打开文件信息 <br>
        用&nbsp; 法: int fstat(char *handle, struct stat
        *buff); <br>
        程序例: </p>
        <p>#include &lt;sys\stat.h&gt; <br>
        #include &lt;stdio.h&gt; <br>
        #include &lt;time.h&gt; </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; struct stat statbuf; <br>
        &nbsp;&nbsp; FILE *stream; </p>
        <p>&nbsp;&nbsp; /* open a file for update */ <br>
        &nbsp;&nbsp; if ((stream = fopen(&quot;DUMMY.FIL&quot;,
        &quot;w+&quot;)) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; == NULL) <br>
        &nbsp;&nbsp; { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fprintf(stderr,
        &quot;Cannot open output \ <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        file.\n&quot;); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(1); <br>
        &nbsp;&nbsp; } <br>
        &nbsp;&nbsp; fprintf(stream, &quot;This is a test&quot;);
        <br>
        &nbsp;&nbsp; fflush(stream); </p>
        <p>&nbsp;&nbsp; /* get information about the file */ <br>
        &nbsp;&nbsp; fstat(fileno(stream), &amp;statbuf); <br>
        &nbsp;&nbsp; fclose(stream); </p>
        <p>&nbsp;&nbsp; /* display the information returned */ <br>
        &nbsp;&nbsp; if (statbuf.st_mode &amp; S_IFCHR) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Handle refers
        to a device.\n&quot;); <br>
        &nbsp;&nbsp; if (statbuf.st_mode &amp; S_IFREG) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Handle refers
        to an ordinary \ <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        file.\n&quot;); <br>
        &nbsp;&nbsp; if (statbuf.st_mode &amp; S_IREAD) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;User has read
        permission on \ <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        file.\n&quot;); <br>
        &nbsp;&nbsp; if (statbuf.st_mode &amp; S_IWRITE) <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;User has
        write permission on \ <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        file.\n&quot;); </p>
        <p>&nbsp;&nbsp; printf(&quot;Drive letter of file:
        %c\n&quot;, <br>
        &nbsp;&nbsp; 'A'+statbuf.st_dev); <br>
        &nbsp;&nbsp; printf(&quot;Size of file in bytes:
        %ld\n&quot;, <br>
        &nbsp;&nbsp; statbuf.st_size); <br>
        &nbsp;&nbsp; printf(&quot;Time file last opened:
        %s\n&quot;, <br>
        &nbsp;&nbsp; ctime(&amp;statbuf.st_ctime)); <br>
        &nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; <br>
        &nbsp; <br>
        &nbsp; </p>
        <p>函数名: ftell <br>
        功&nbsp; 能: 返回当前文件指针 <br>
        用&nbsp; 法: long ftell(FILE *stream); <br>
        程序例: </p>
        <p>#include &lt;stdio.h&gt; </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; FILE *stream; </p>
        <p>&nbsp;&nbsp; stream = fopen(&quot;MYFILE.TXT&quot;,
        &quot;w+&quot;); <br>
        &nbsp;&nbsp; fprintf(stream, &quot;This is a test&quot;);
        <br>
        &nbsp;&nbsp; printf(&quot;The file pointer is at byte \ <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        %ld\n&quot;, ftell(stream)); <br>
        &nbsp;&nbsp; fclose(stream); <br>
        &nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; <br>
        &nbsp; <br>
        &nbsp; </p>
        <p>函数名: fwrite <br>
        功&nbsp; 能: 写内容到流中 <br>
        用&nbsp; 法: int fwrite(void *ptr, int size, int
        nitems, FILE *stream); <br>
        程序例: </p>
        <p>#include &lt;stdio.h&gt; </p>
        <p>struct mystruct <br>
        { <br>
        &nbsp; int i; <br>
        &nbsp; char ch; <br>
        }; </p>
        <p>int main(void) <br>
        { <br>
        &nbsp;&nbsp; FILE *stream; <br>
        &nbsp;&nbsp; struct mystruct s; </p>
        <p>&nbsp;&nbsp; if ((stream = fopen(&quot;TEST.$$$&quot;,
        &quot;wb&quot;)) == NULL) /* open file TEST.$$$ */ <br>
        &nbsp;&nbsp; { <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fprintf(stderr,
        &quot;Cannot open output file.\n&quot;); <br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1; <br>
        &nbsp;&nbsp; } <br>
        &nbsp;&nbsp; s.i = 0; <br>
        &nbsp;&nbsp; s.ch = 'A'; <br>
        &nbsp;&nbsp; fwrite(&amp;s, sizeof(s), 1, stream); /*
        write struct s to file */ <br>
        &nbsp;&nbsp; fclose(stream); /* close file */ <br>
        &nbsp;&nbsp; return 0; <br>
        } <br>
        &nbsp; </p>
        </td>
    </tr>
</table>
</center></div><div align="center"><center>

<table border="0" cellspacing="1" width="640">
    <tr>
        <td class="p9" height="60">  <script>
document.write("<p><a href=\"http://view.gznet.com/cgi-bin/rl_views.cgi?UID=10013421\" target=sxrl>"); 
document.write("<img src=\"http://refer.gznet.com/cgi-bin/rl_refer2.cgi?UID=10013421&refer="+escape(top.document.referrer)+"\" width=1 height=1 border=0 alt=\"  \">"); 
document.write("</a>"); 
</script></td>
    </tr>
</table>
</center></div>

<p> </p>
</body>
</html>

⌨️ 快捷键说明

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