📄 stdio_details.html
字号:
</H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> void perror( const char *str );</PRE></TD></TR></TABLE><P> perror()函数打印<I>str</I>(字符串)和一个相应的执行定义的错误消息到全局变量<STRONG>errno</STRONG>中. </P><HR><H2> <A NAME="printf">printf</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> int printf( const char *format, ... );</PRE></TD></TR></TABLE><P> printf()函数根据<I>format</I>(格式)给出的格式打印输出到STDOUT(标准输出)和其它参数中.</P><P>字符串<I>format</I>(格式)由两类项目组成 - 显示到屏幕上的字符和定义printf()显示的其它参数. 基本上, 你可以指定一个包含文本在内的<I>format</I>(格式)字符串,也可以是映射到printf()其它参数的"特殊"字符. 例如本代码</P><PRE> char name[20] = "Bob"; int age = 21; printf( "Hello %s, you are %d years old\n", name, age );</PRE><P> 显示下列输出:</P><PRE> Hello Bob, you are 21 years old</PRE><P> %s 表示, "在这里插入首个参数,一个字符串." %d 表示第二个参数(一个整数)应该放置在那里. 不同的"<I>%-codes</I>"表示不同的变量类型, 也可以限制变量的长度.</P> <TABLE BGCOLOR="EEEEFF"> <TR><TD><STRONG>Code</STRONG></TD><TD><STRONG>格式</STRONG></TD></TR> <TR><TD>%c</TD><TD>字符</TD></TR> <TR><TD>%d</TD><TD>带符号整数</TD></TR> <TR><TD>%i</TD><TD>带符号整数</TD></TR> <TR><TD>%e</TD><TD>科学计数法, 使用小写"e"</TD></TR> <TR><TD>%E</TD><TD>科学计数法, 使用大写"E"</TD></TR> <TR><TD>%f</TD><TD>浮点数</TD></TR> <TR><TD>%g</TD><TD>使用%e或%f中较短的一个</TD></TR> <TR><TD>%G</TD><TD>使用%E或%f中较短的一个</TD></TR> <TR><TD>%o</TD><TD>八进制</TD></TR> <TR><TD>%s</TD><TD>一串字符</TD></TR> <TR><TD>%u</TD><TD>无符号整数</TD></TR> <TR><TD>%x</TD><TD>无符号十六进制数, 用小写字母</TD></TR> <TR><TD>%X</TD><TD>无符号十六进制数, 用大写字母</TD></TR> <TR><TD>%p</TD><TD>一个指针</TD></TR> <TR><TD>%n</TD><TD>参数应该是一个指向一个整数的指针<BR> 指向的是字符数放置的位置<BR> </TD></TR> <TR><TD>%%</TD><TD>一个'%'符号</TD></TR> </TABLE><P> 一个位于一个%和格式化命令间的整数担当着一个最小字段宽度说明符,并且加上足够多的空格或0使输出足够长. 如果你想填充0,在最小字段宽度说明符前放置0. 你可以使用一个精度修饰符,它可以根据使用的格式代码而有不同的含义. <UL> <LI>用%e, %E和 %f,精度修饰符让你指定想要的小数位数. 例如,</P><PRE> %12.6f</PRE><P> 将会至少显示12位数字,并带有6位小数的浮点数. <LI>用%g和 %G, 精度修饰符决定显示的有效数的位数最大值. <LI>用%s,精度修饰符简单的表示一个<STRONG>最大</STRONG>的最大长度, 以补充句点前的最小字段长度. </UL> 所有的printf()的输出都是右对齐的,除非你在%符号后放置了负号. 例如,</P><PRE> %-12.4f</PRE><P> 将会显示12位字符,4位小数位的浮点数并且左对齐. 你可以修改带字母<STRONG>l</STRONG>和<STRONG>h</STRONG>%d, %i, %o, %u和 %x 等类型说明符指定长型和短型数据类型 (例如 %hd 表示一个短整数). %e, %f和 %g 类型说明符,可以在它们前面放置<STRONG>l</STRONG>指出跟随的是一个double. %g, %f和 %e 类型说明符可以置于字符'#'前保证出现小数点, 即使没有小数位. 带%x类型说明符的'#'字符的使用, 表示显示十六进制数时应该带'0x'前缀. 带%o类型说明符的'#'字符的使用, 表示显示八进制数时应该带一个'0'前缀.</P><P> 你可以在输出字符串中包含 <A HREF="escape_sequences.html">连续的Escape序列</A>.</P><P> printf()的返回值是打印的字符数,如果发生错误则返回一个负值.</P><I>相关主题:</I><BR><STRONG> <A HREF="#scanf">scanf()</A>和 <A HREF="#fprintf">fprintf()</A>. </STRONG><HR><H2> <A NAME="putc">putc</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> int putc( int ch, FILE *stream );</PRE></TD></TR></TABLE><P> putc()函数把字符<I>ch</I>写到<I>stream</I>(流)中. 返回值是写入的字符, 发生错误时返回EOF. 例如:</P><PRE> char ch; FILE *input; input = fopen( "temp.cpp", "r" ); ch = getc( input ); while( ch != EOF ) { printf( "%c", ch ); ch = getc( input ); }</PRE><P> 显示"temp.cpp"的内容到屏幕.</P><I>相关主题:</I><BR><STRONG> <A HREF="#fgetc">fgetc()</A>, <A HREF="#fputc">fputc()</A>, <A HREF="#getchar">getchar()</A>和 <A HREF="#putchar">putchar()</A>. </STRONG><HR><H2> <A NAME="putchar">putchar</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> int putchar( int ch );</PRE></TD></TR></TABLE><P> putchar()函数把<I>ch</I>写到<STRONG>STDOUT(标准输出)</STRONG>. 代码</P><PRE> putchar( ch );</PRE><P> 和</P><PRE> putc( ch, STDOUT );</PRE>一样.<P> putchar()的返回值是被写的字符, 发生错误时返回EOF.</P><I>相关主题:</I><BR><STRONG> <A HREF="#putc">putc()</A> </STRONG><HR><H2> <A NAME="puts">puts</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> int puts( char *str );</PRE></TD></TR></TABLE><P> 函数puts()把<I>str</I>(字符串)写到<STRONG>STDOUT(标准输出)</STRONG>上. puts() 成功时返回非负值, 失败时返回EOF.</P><I>相关主题:</I><BR><STRONG> <A HREF="#putc">putc()</A>, <A HREF="#gets">gets()</A>和 <A HREF="#printf">printf()</A>. </STRONG><HR><H2> <A NAME="remove">remove</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> int remove( const char *fname );</PRE></TD></TR></TABLE><P> remove()函数删除由<I>fname</I>(文件名)指定的文件. remove()成功时返回0,如果发生错误返回非零.</P><I>相关主题:</I><BR><STRONG> <A HREF="#rename">rename()</A> </STRONG><HR><H2> <A NAME="rename">rename</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> int rename( const char *oldfname, const char *newfname );</PRE></TD></TR></TABLE><P> 函数rename()更改文件<I>oldfname</I>的名称为<I>newfname</I>. rename()成功时返回0,错误时返回非零.</P><I>相关主题:</I><BR><STRONG> <A HREF="#remove">remove()</A> </STRONG><HR><H2> <A NAME="rewind">rewind</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> void rewind( FILE *stream );</PRE></TD></TR></TABLE><P> 函数rewind()把文件指针移到由<I>stream</I>(流)指定的开始处, 同时清除和流相关的错误和EOF标记.</P><I>相关主题:</I><BR><STRONG> <A HREF="#fseek">fseek()</A> </STRONG><HR><H2> <A NAME="scanf">scanf</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> int scanf( const char *format, ... );</PRE></TD></TR></TABLE><P> scanf()函数根据由<I>format</I>(格式)指定的格式从<STRONG>stdin</STRONG>(标准输入)读取,并保存数据到其它参数. 它和<A HREF="#printf">printf()</A>有点类似. <I>format</I>(格式)字符串由控制字符,空白字符和非空白字符组成. 控制字符以一个%符号开始,如下:</P> <TABLE BGCOLOR="EEEEFF"> <TR><TD><STRONG>控制字符</STRONG></TD><TD><STRONG>说明</STRONG></TD></TR> <TR><TD>%c</TD><TD>一个单一的字符</TD></TR> <TR><TD>%d</TD><TD>一个十进制整数</TD></TR> <TR><TD>%i</TD><TD>一个整数</TD></TR> <TR><TD>%e, %f, %g</TD><TD>一个浮点数</TD></TR> <TR><TD>%o</TD><TD>一个八进制数</TD></TR> <TR><TD>%s</TD><TD>一个字符串</TD></TR> <TR><TD>%x</TD><TD>一个十六进制数</TD></TR> <TR><TD>%p</TD><TD>一个指针</TD></TR> <TR><TD>%n</TD><TD>一个等于读取字符数量的整数</TD></TR> <TR><TD>%u</TD><TD>一个无符号整数</TD></TR> <TR><TD>%[]</TD><TD>一个字符集</TD></TR> <TR><TD>%%</TD><TD>一个精度符号</TD></TR> </TABLE><P> scanf()读取匹配<I>format</I>(格式)字符串的输入. 当读取到一个控制字符, 它把值放置到下一个变量. 空白(tabs, 空格等等)会跳过. 非空白字符和输入匹配, 然后丢弃. 如果是一个在%符号和控制符间的数量, 那么只有指定数量的字符转换到变量中. 如果scanf()遇到一个字符集(用%[]控制字符表示), 那么在括号中的任意字符都会读取到变量中. scanf()的返回值是成功赋值的变量数量, 发生错误时返回EOF.</P><I>相关主题:</I><BR><STRONG> <A HREF="#printf">printf()</A>和 <A HREF="#fscanf">fscanf()</A>. </STRONG><HR><H2> <A NAME="setbuf">setbuf</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> void setbuf( FILE *stream, char *buffer );</PRE></TD></TR></TABLE><P> setbuf()函数设置<I>stream</I>(流)使用<I>buffer</I>(缓冲区),如果<I>buffer</I>(缓冲区)是null,关闭缓冲. 如果使用非标准缓冲尺寸, 它应该由<STRONG>BUFSIZ</STRONG>字符决定长度.</P><I>相关主题:</I><BR><STRONG><A HREF="#fopen">fopen()</A>, <A HREF="#fclose">fclose()</A>, <A HREF="#setvbuf">setvbuf()</A>, </STRONG><HR><H2> <A NAME="setvbuf">setvbuf</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> int setvbuf( FILE *stream, char *buffer, int mode, size_t size );</PRE></TD></TR></TABLE><P> 函数setvbuf()设置用于<I>stream</I>(流)的缓冲区到<I>buffer</I>(缓冲区),其大小为<I>size</I>(大小). <I>mode</I>(方式)可以是: <UL> <LI>_IOFBF, 表示完全缓冲 <LI>_IOLBF, 表示线缓冲 <LI>_IONBF, 表示无缓存 </UL></P><I>相关主题:</I><BR><STRONG><A HREF="#setbuf">setbuf()</A>, </STRONG><HR><H2> <A NAME="sprintf">sprintf</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> int sprintf( char *buffer, const char *format, ... );</PRE></TD></TR></TABLE><P> sprintf()函数和<A HREF="#printf">printf()</A>类似, 只是把输出发送到<I>buffer</I>(缓冲区)中.返回值是写入的字符数量. 例如:</P><PRE> char string[50]; int file_number = 0; sprintf( string, "file.%d", file_number ); file_number++; output_file = fopen( string, "w" );</PRE><I>相关主题:</I><BR><STRONG><A HREF="#printf">printf()</A>, <A HREF="#fsprintf">fsprintf()</A>, </STRONG><HR><H2> <A NAME="sscanf">sscanf</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> int sscanf( const char *buffer, const char *format, ... );</PRE></TD></TR></TABLE><P> 函数sscanf()和<A HREF="#scanf">scanf()</A>类似, 只是输入从<I>buffer</I>(缓冲区)中读取.</P><I>相关主题:</I><BR><STRONG><A HREF="#scanf">scanf()</A>, <A HREF="#fscanf">fscanf()</A>, </STRONG><HR><H2> <A NAME="tmpfile">tmpfile</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> FILE *tmpfile( void );</PRE></TD></TR></TABLE><P> 函数tempfile()用一个独特的文件名打开一个临时文件,并返回一个到该文件的指针.如果发生错误则返回null.</P><I>相关主题:</I><BR><STRONG><A HREF="#tmpnam">tmpnam()</A>, </STRONG><HR><H2> <A NAME="tmpnam">tmpnam</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> char *tmpnam( char *name );</PRE></TD></TR></TABLE><P> tmpnam()函数创建一个独特的文件名并保存在<I>name</I>中. tmpnam()最多可以调用<STRONG>TMP_MAX</STRONG>指定的次数.</P><I>相关主题:</I><BR><STRONG><A HREF="#tmpfile">tmpfile()</A>, </STRONG><HR><H2> <A NAME="ungetc">ungetc</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdio.h> int ungetc( int ch, FILE *stream );</PRE></TD></TR></TABLE><P> 函数ungetc()把字符<I>ch</I>放回到<I>stream</I>(流)中.</P><I>相关主题:</I><BR><STRONG><A HREF="#getc">getc()</A>, </STRONG><HR><H2> <A NAME="vprintf">vprintf, vfprintf和 vsprintf</A></H2><I>语法:</I><TABLE BGCOLOR="CCCCFF"><TR><TD><PRE> #include <stdarg.h> #include <stdio.h> int vprintf( char *format, va_list arg_ptr ); int vfprintf( FILE *stream, const char *format, va_list arg_ptr ); int vsprintf( char *buffer, char *format, va_list arg_ptr );</PRE></TD></TR></TABLE><P> 这些函数和<A HREF="#printf">printf()</A>非常相似, <A HREF="#fprintf">fprintf()</A>和 <A HREF="#sprintf">sprintf()</A>的不同在于参数列表是一个指向一系列参数的指针. <STRONG>va_list</STRONG>在STDARG.H中定义,并且也可以被<A HREF="stdother_details.html#va_arg">va_arg()</A>使用. 例如:</P><PRE> void error( char *fmt, ... ) { va_list args; va_start( args, fmt ); fprintf( stderr, "Error: " ); vfprintf( stderr, fmt, args ); fprintf( stderr, "\n" ); va_end( args ); exit( 1 ); }</PRE></BODY></HTML><br><html>
<head>
<meta http-equiv='Content-Type' content='text/html' charset='ISO_8859_1'>
<title>195</title>
<style>
<!--
div#StrBanner /* Creates Nonscrolling banner region */
{
position: relative;
left: 0px;
padding: 0px 0px 0px 0px;
border-bottom: 1px solid #999999;
background-color: #99ccff;
}
div#titlerow /* <!-- 195 --> */
{
padding: 0px 10px 0px 22px;
}
h1, h2, h3, h4 /* <!-- 195 --> */
{
font-family: Verdana, Arial, Helvetica, sans-serif;
margin-bottom: .4em;
margin-top: 0em;
font-weight: bold;
}
-->
</style>
</head>
<body><!-- 195 -->
<div id='StrBanner'>
<div>
<table class='TableBanner' cellspacing='0'>
<tr>
<td ALIGN=RIGHT><!-- 195 --></td>
<td ALIGN=RIGHT><!-- 195 --></td> </tr>
</table>
</div>
<div id='TitleRow'>
<h3>Extr<!-- 195 -->acted by <!-- 195 -->Tria<!-- 195 -->l version of Ch<!-- 195 -->mDecom<!-- 195 -->piler<!-- 195 --> (<a href="http://www.etextwizard.com/download/cd/cdsetup.exe" target=_blank>Download Now</a>).</h3>
<h4>Once reg<!-- 195 -->istered, <!-- 195 -->all restrictions of the Tr<!-- 195 -->ial version are removed.</h4>
<a href="http://www.zipghost.com/order_chmdecompiler.html" target=_blank><H3>B<!-- 195 -->uy Now</H3></a>
</div>
</div>
<p><!-- 195 -->
</p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -