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

📄 stdio_details.html

📁 标准c/c++帮助文档
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<HTML><HEAD>  <TITLE>标准 C I/O</TITLE></HEAD><BODY BGCOLOR="FFFFFF"><TABLE WIDTH="100%" BGCOLOR="EEEEFF"><TR><TD>  <A HREF="index.html">cppreference.com</A> -&gt; <A HREF="stdio.html">标准 C I/O</A> -&gt;详细说明</TD></TR></TABLE><H1>标准 C I/O</H1>  <HR><H2>   <A NAME="clearerr">clearerr</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  void clearerr( FILE *stream );</PRE></TD></TR></TABLE><P>  clearerr函数重置错误标记和给出的流的EOF指针.  当发生错误时,你可以使用<A HREF="#perror">perror()</A>判断实际上发生了何种错误.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#feof">feof()</A>, <A HREF="#ferror">ferror()</A>, 和<A HREF="#perror">perror()</A>.  </STRONG><HR><H2>   <A NAME="fclose">fclose</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int fclose( FILE *stream );</PRE></TD></TR></TABLE><P>  函数fclose()关闭给出的文件流, 释放已关联到流的所有缓冲区.  fclose()执行成功时返回0,否则返回EOF.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#fopen">fopen()</A>, <A HREF="#freopen">freopen()</A>, 和<A HREF="#fflush">fflush()</A>.  </STRONG><HR><H2>   <A NAME="feof">feof</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int feof( FILE *stream );</PRE></TD></TR></TABLE><P>  函数feof()在到达给出的文件流的文件尾时返回一个非零值.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#clearerr">clearerr()</A>, <A HREF="#ferror">ferror()</A>,  <A HREF="#perror">perror()</A>, <A HREF="#putc">putc()</A>和  <A HREF="#getc">getc()</A>.  </STRONG><HR><H2>   <A NAME="ferror">ferror</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int ferror( FILE *stream );</PRE></TD></TR></TABLE><P>  ferror()函数检查<I>stream</I>(流)中的错误, 如果没发生错误返回0,否则返回非零.  如果发生错误, 使用<A HREF="#perror">perror()</A>检测发生什么错误.</P><I>相关主题:</I><BR><STRONG><A HREF="#clearerr">clearerr()</A>, <A HREF="#feof">feof()</A>, <A HREF="#perror">perror()</A>,   </STRONG><HR><H2>   <A NAME="fflush">fflush</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int fflush( FILE *stream );</PRE></TD></TR></TABLE><P>  如果给出的文件流是一个输出流,那么fflush()把输出到缓冲区的内容写入文件.  如果给出的文件流是输入类型的,那么fflush()会清除输入缓冲区.    fflush()在调试时很实用,特别是对于在程序中输出到屏幕前发生错误片段时. 直接调用 fflush( STDOUT )输出可以保证你的调试输出可以在正确的时间输出.</P><PRE>    printf( "Before first call\n" );    fflush( STDOUT );    shady_function();    printf( "Before second call\n" );    fflush( STDOUT );    dangerous_dereference();</PRE><I>相关主题:</I><BR><STRONG>  <A HREF="#fclose">fclose()</A>, <A HREF="#fopen">fopen()</A>,  <A HREF="#fread">fread()</A>, <A HREF="#fwrite">fwrite()</A>,  <A HREF="#getc">getc()</A>, 和<A HREF="#putc">putc()</A>.  </STRONG><HR><H2>   <A NAME="fgetc">fgetc</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int fgetc( FILE *stream );</PRE></TD></TR></TABLE><P>  fgetc()函数返回来自<I>stream</I>(流)中的下一个字符,如果到达文件尾或者发生错误时返回EOF.  </P><I>相关主题:</I><BR><STRONG>  <A HREF="#fputc">fputc()</A>, <A HREF="#getc">getc()</A>,  <A HREF="#putc">putc()</A>, 和<A HREF="#fopen">fopen()</A>.</STRONG><HR><H2>   <A NAME="fgetpos">fgetpos</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int fgetpos( FILE *stream, fpos_t *position );</PRE></TD></TR></TABLE><P>  fgetpos()函数保存给出的文件流(stream)的位置指针到给出的位置变量(position)中.   position变量是fpos_t类型的(它在stdio.h中定义)并且是可以控制在FILE中每个可能的位置对象.  fgetpos()执行成功时返回0,失败时返回一个非零值.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#fsetpos">fsetpos()</A>, <A HREF="#fseek">fseek()</A>和  <A HREF="#ftell">ftell()</A>.  </STRONG><HR><H2>   <A NAME="fgets">fgets</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  char *fgets( char *str, int num, FILE *stream );</PRE></TD></TR></TABLE><P>  函数fgets()从给出的文件流中读取[<I>num - 1</I>]个字符并且把它们转储到<I>str</I>(字符串)中.  fgets()在到达行末时停止,在这种情况下,<I>str</I>(字符串)将会被一个新行符结束.  如果fgets()达到[<I>num - 1</I>]个字符或者遇到EOF, <I>str</I>(字符串)将会以null结束.fgets()成功时返回<I>str</I>(字符串),失败时返回NULL.  </P><HR><H2>   <A NAME="fopen">fopen</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  FILE *fopen( const char *fname, const char *mode );</PRE></TD></TR></TABLE><P>  fopen()函数打开由<I>fname</I>(文件名)指定的文件, 并返回一个关联该文件的流.如果发生错误, fopen()返回NULL.  <I>mode</I>(方式)是用于决定文件的用途(例如 用于输入,输出,等等)</P>  <TABLE BGCOLOR="EEEEFF">    <TR><TD><STRONG>Mode(方式)</STRONG></TD><TD><STRONG>意义</STRONG></TD></TR>    <TR><TD>"r"</TD><TD>打开一个用于读取的文本文件</TD></TR>    <TR><TD>"w"</TD><TD>创建一个用于写入的文本文件</TD></TR>    <TR><TD>"a"</TD><TD>附加到一个文本文件</TD></TR>    <TR><TD>"rb"</TD><TD>打开一个用于读取的二进制文件</TD></TR>    <TR><TD>"wb"</TD><TD>创建一个用于写入的二进制文件</TD></TR>    <TR><TD>"ab"</TD><TD>附加到一个二进制文件</TD></TR>    <TR><TD>"r+"</TD><TD>打开一个用于读/写的文本文件</TD></TR>    <TR><TD>"w+"</TD><TD>创建一个用于读/写的文本文件</TD></TR>    <TR><TD>"a+"</TD><TD>打开一个用于读/写的文本文件</TD></TR>    <TR><TD>"rb+"</TD><TD>打开一个用于读/写的二进制文件</TD></TR>    <TR><TD>"wb+"</TD><TD>创建一个用于读/写的二进制文件</TD></TR>    <TR><TD>"ab+"</TD><TD>打开一个用于读/写的二进制文件</TD></TR>  </TABLE><P>  示例:</P><PRE>    char ch;    FILE *input = fopen( "stuff", "r" );    ch = getc( input );    </PRE><HR><H2>   <A NAME="fprintf">fprintf</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int fprintf( FILE *stream, const char *format, ... );</PRE></TD></TR></TABLE><P>  fprintf()函数根据指定的<I>format</I>(格式)(格式)发送信息(参数)到由<I>stream</I>(流)指定的文件.  fprintf()只能和<A HREF="#printf">printf()</A>一样工作.  fprintf()的返回值是输出的字符数,发生错误时返回一个负值. </P><P>  示例:</P><PRE>    char name[20] = "Mary";    FILE *out;    out = fopen( "output.txt", "w" );    if( out != NULL )      fprintf( out, "Hello %s\n", name );</PRE><I>相关主题:</I><BR><STRONG>  <A HREF="#printf">printf()</A> 和<A HREF="#fscanf">fscanf()</A>.  </STRONG><HR><H2>   <A NAME="fputc">fputc</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int fputc( int ch, FILE *stream );</PRE></TD></TR></TABLE><P>  函数fputc()把给出的字符<I>ch</I>写到给出的输出流.  返回值是字符, 发生错误时返回值是EOF.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#fgetc">fgetc()</A>, <A HREF="#fopen">fopen()</A>,  <A HREF="#fprintf">fprintf()</A>, <A HREF="#fread">fread()</A>,  和<A HREF="#fwrite">fwrite()</A>.  </STRONG><HR><H2>   <A NAME="fputs">fputs</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int fputs( const char *str, FILE *stream );</PRE></TD></TR></TABLE><P>  fputs()函数把<I>str</I>(字符串)指向的字符写到给出的输出流.  成功时返回非负值, 失败时返回EOF.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#fgets">fgets()</A>, <A HREF="#gets">gets()</A>,  <A HREF="#puts">puts()</A>, <A HREF="#fprintf">fprintf()</A>,  和<A HREF="#fscanf">fscanf()</A>.  </STRONG><HR><H2>   <A NAME="fread">fread</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int fread( void *buffer, size_t size, size_t num, FILE *stream );</PRE></TD></TR></TABLE><P>  函数fread()读取[<I>num</I>]个对象(每个对象大小为<I>size</I>(大小)指定的字节数),并把它们替换到由<I>buffer</I>(缓冲区)指定的数组.  数据来自给出的输入流.  函数的返回值是读取的内容数量...</P><P>  使用<A HREF="#feof">feof()</A>或<A HREF="#ferror">ferror()</A>判断到底发生哪个错误.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#fwrite">fwrite()</A>, <A HREF="#fopen">fopen()</A>,<A HREF="#fscanf">fscanf()</A>, <A HREF="#fgetc">fgetc()</A>和<A HREF="#getc">getc()</A>.</STRONG><HR><H2>   <A NAME="freopen">freopen</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  FILE *freopen( const char *fname, const char *mode, FILE *stream );</PRE></TD></TR></TABLE><P>  freopen()函数常用于再分配一个以存在的流给一个不同的文件和方式(mode).在调用本函数后,给出的文件流将会用<I>mode</I>(方式)指定的访问模式引用<I>fname</I>(文件名).  freopen()的返回值是新的文件流,发生错误时返回NULL.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#fopen">fopen()</A> 和<A HREF="#fclose">fclose()</A>.  </STRONG><HR><H2>   <A NAME="fscanf">fscanf</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int fscanf( FILE *stream, const char *format, ... );</PRE></TD></TR></TABLE><P>  函数fscanf()以<A HREF="#scanf">scanf()</A>的执行方式从给出的文件流中读取数据.  fscanf()的返回值是事实上已赋值的变量的数,如果未进行任何分配时返回EOF.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#scanf">scanf()</A> 和<A HREF="#fprintf">fprintf()</A>.  </STRONG><HR><H2>   <A NAME="fseek">fseek</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int fseek( FILE *stream, long offset, int origin );</PRE></TD></TR></TABLE><P>  函数fseek()为给出的流设置位置数据.  <I>origin</I>的值应该是下列值其中之一(在stdio.h中定义):</P>  <TABLE BGCOLOR="EEEEFF">    <TR><TD><STRONG>名称</STRONG></TD><TD><STRONG>说明</STRONG></TD></TR>    <TR><TD>SEEK_SET</TD><TD>从文件的开始处开始搜索</TD></TR>    <TR><TD>SEEK_CUR</TD><TD>从当前位置开始搜索</TD></TR>    <TR><TD>SEEK_END</TD><TD>从文件的结束处开始搜索</TD><TR>  </TABLE><P>  fseek()成功时返回0,失败时返回非零.  你可以使用fseek()移动超过一个文件,但是不能在开始处之前.  使用fseek()清除关联到流的EOF标记.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#ftell">ftell()</A>, <A HREF="#rewind">rewind()</A>,  <A HREF="#fopen">fopen()</A>, <A HREF="#fgetpos">fgetpos()</A>和  <A HREF="#fsetpos">fsetpos()</A>.  </STRONG><HR><H2>   <A NAME="fsetpos">fsetpos</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int fsetpos( FILE *stream, const fpos_t *position );</PRE></TD></TR></TABLE><P>  fsetpos()函数把给出的流的位置指针移到由<I>position</I>对象指定的位置.  fpos_t是在stdio.h中定义的.  fsetpos()执行成功返回0,失败时返回非零.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#fgetpos">fgetpos()</A>, <A HREF="#fseek">fseek()</A>和  <A HREF="#ftell">ftell()</A>.  </STRONG><HR><H2>   <A NAME="ftell">ftell</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  long ftell( FILE *stream );</PRE></TD></TR></TABLE><P>  ftell()函数返回<I>stream</I>(流)当前的文件位置,如果发生错误返回-1.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#fseek">fseek()</A>和 <A HREF="#fgetpos">fgetpos()</A>.  </STRONG><HR><H2>   <A NAME="fwrite">fwrite</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int fwrite( const void *buffer, size_t size, size_t count, FILE *stream );</PRE></TD></TR></TABLE><P>  fwrite()函数从数组<I>buffer</I>(缓冲区)中, 写<I>count</I>个大小为<I>size</I>(大小)的对象到<I>stream</I>(流)指定的流.  返回值是已写的对象的数量.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#fread">fread()</A>, <A HREF="#fscanf">fscanf()</A>,   <A HREF="#getc">getc()</A>和 <A HREF="#fgetc">fgetc()</A>.  </STRONG><HR><H2>   <A NAME="getc">getc</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int getc( FILE *stream );</PRE></TD></TR></TABLE><P>  getc()函数从<I>stream</I>(流)获取并返回下一个字符,如果到达文件尾返回EOF.  getc()和fgetc()是一样的.  例如:</P><PRE>    char ch;    FILE *input = fopen( "stuff", "r" );        ch = getc( input );    while( ch != EOF ) {      printf( "%c", ch );      ch = getc( input );    }</PRE><I>相关主题:</I><BR><STRONG>  <A HREF="#fputc">fputc()</A>, <A HREF="#fgetc">fgetc()</A>,  <A HREF="#putc">putc()</A>和 <A HREF="#fopen">fopen()</A>.  </STRONG><HR><H2>   <A NAME="getchar">getchar</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  int getchar( void );</PRE></TD></TR></TABLE><P>  getchar()函数从STDIN(标准输入)获取并返回下一个字符,如果到达文件尾返回EOF.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#fputc">fputc()</A>, <A HREF="#fgetc">fgetc()</A>,  <A HREF="#putc">putc()</A>和 <A HREF="#fopen">fopen()</A>.  </STRONG><HR><H2>   <A NAME="gets">gets</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE>  #include &lt;stdio.h&gt;  char *gets( char *str );</PRE></TD></TR></TABLE><P>  gets()函数从STDIN(标准输入)读取字符并把它们加载到<I>str</I>(字符串)里,直到遇到新行(\n)或到达EOF.  新行字符翻译为一个null中断符.  gets()的返回值是读入的字符串,如果错误返回NULL.</P><I>相关主题:</I><BR><STRONG>  <A HREF="#fputs">fputs()</A>, <A HREF="#fgetc">fgetc()</A>,<A HREF="#fgets">fgets()</A>和 <A HREF="#puts">puts()</A>.  </STRONG><HR><H2>   <A NAME="perror">perror</A>

⌨️ 快捷键说明

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