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

📄 c++的iostream标准库介绍.htm

📁 关于C+编程思想的课件
💻 HTM
📖 第 1 页 / 共 5 页
字号:
              <TR>
                <TD>bool bad(); <BR><BR>bool eof(); <BR><BR>bool fail(); 
                  <BR><BR>bool good(); 
            </TD></TR></TBODY></TABLE><BR>  下例示例,表示出了上面各成员函数的用法:<BR><BR>
            <TABLE borderColor=#cccccc width="90%" align=center bgColor=#e7e9e9 
            border=1>
              <TBODY>
              <TR>
                <TD><FONT color=#008000>//程序作者:管宁</FONT> <BR><FONT 
                  color=#008000>//站点:www.cndev-lab.com</FONT> <BR><FONT 
                  color=#008000>//所有稿件均有版权,如要转载,请务必著名出处和作者</FONT> 
                  <BR><BR>#include&lt;<FONT color=#800000>iostream</FONT>&gt; 
                  <BR><FONT color=#0000ff>using</FONT><FONT 
                  color=#0000ff>namespace</FONT>std; <BR><BR><FONT 
                  color=#0000ff>int</FONT><FONT color=#0000ff>main</FONT>() 
                  <BR>{ <BR><FONT color=#0000ff>int</FONT>a; <BR><FONT 
                  color=#800000>cin</FONT>&gt;&gt;a; <BR><FONT 
                  color=#800000>cout</FONT>&lt;&lt;<FONT 
                  color=#800000>cin</FONT>.rdstate()&lt;&lt;endl; <BR><FONT 
                  color=#0000ff>if</FONT>(<FONT color=#800000>cin</FONT>.good()) 
                  <BR>{ <BR><FONT 
                  color=#800000>cout</FONT>&lt;&lt;"输入数据的类型正确,无错误!"&lt;&lt;endl; 
                  <BR>} <BR><FONT color=#0000ff>if</FONT>(<FONT 
                  color=#800000>cin</FONT>.fail()) <BR>{ <BR><FONT 
                  color=#800000>cout</FONT>&lt;&lt;"输入数据类型错误,非致命错误,可清除输入缓冲区挽回!"&lt;&lt;endl; 
                  <BR>} <BR>system("pause"); 
            <BR>}</TD></TR></TBODY></TABLE><BR>  如果错误发生,那么流状态既被标记为错误,你必须清除这些错误状态,以使你的程序能正确适当地继续运行。要清除错误状态,需使用clear()函数。此函数带一个参数,它是你将要设为当前状态的标志值。,只要将ios::goodbit作为实参。 
            <BR><BR>  示例代码如下:<BR><BR>
            <TABLE borderColor=#cccccc width="90%" align=center bgColor=#e7e9e9 
            border=1>
              <TBODY>
              <TR>
                <TD><FONT color=#008000>//程序作者:管宁</FONT> <BR><FONT 
                  color=#008000>//站点:www.cndev-lab.com</FONT> <BR><FONT 
                  color=#008000>//所有稿件均有版权,如要转载,请务必著名出处和作者</FONT> 
                  <BR><BR>#include&lt;<FONT color=#800000>iostream</FONT>&gt; 
                  <BR><FONT color=#0000ff>using</FONT><FONT 
                  color=#0000ff>namespace</FONT>std; <BR><BR><FONT 
                  color=#0000ff>int</FONT><FONT color=#0000ff>main</FONT>() 
                  <BR>{ <BR><FONT color=#0000ff>int</FONT>a; <BR><FONT 
                  color=#800000>cin</FONT>&gt;&gt;a; <BR><FONT 
                  color=#800000>cout</FONT>&lt;&lt;<FONT 
                  color=#800000>cin</FONT>.rdstate()&lt;&lt;endl; <BR><FONT 
                  color=#800000>cin</FONT>.clear(<FONT 
                  color=#800000>ios</FONT>::goodbit); <BR><FONT 
                  color=#800000>cout</FONT>&lt;&lt;<FONT 
                  color=#800000>cin</FONT>.rdstate()&lt;&lt;endl; 
                  <BR>system("pause"); 
            <BR>}<BR></TD></TR></TBODY></TABLE><BR>  通常当我们发现输入有错又需要改正的时候,使用clear()更改标记为正确后,同时也需要使用get()成员函数清除输入缓冲区,以达到重复输入的目的。 
            <BR><BR>  示例代码如下:<BR><BR>
            <TABLE borderColor=#cccccc width="90%" align=center bgColor=#e7e9e9 
            border=1>
              <TBODY>
              <TR>
                <TD><FONT color=#008000>//程序作者:管宁</FONT> <BR><FONT 
                  color=#008000>//站点:www.cndev-lab.com</FONT> <BR><FONT 
                  color=#008000>//所有稿件均有版权,如要转载,请务必著名出处和作者</FONT> 
                  <BR>#include&lt;<FONT color=#800000>iostream</FONT>&gt; 
                  <BR><FONT color=#0000ff>using</FONT><FONT 
                  color=#0000ff>namespace</FONT>std; <BR><BR><FONT 
                  color=#0000ff>int</FONT><FONT color=#0000ff>main</FONT>() 
                  <BR>{ <BR><FONT color=#0000ff>int</FONT>a; <BR><FONT 
                  color=#0000ff>while</FONT>(1) <BR>{ <BR><FONT 
                  color=#800000>cin</FONT>&gt;&gt;a; <BR><FONT 
                  color=#0000ff>if</FONT>(!<FONT color=#800000>cin</FONT>)<FONT 
                  color=#008000>//条件可改写为cin.fail()</FONT><BR>{ <BR><FONT 
                  color=#800000>cout</FONT>&lt;&lt;"输入有错!请重新输入"&lt;&lt;endl; 
                  <BR><FONT color=#800000>cin</FONT>.clear(); <BR><FONT 
                  color=#800000>cin</FONT>.get(); <BR>} <BR><FONT 
                  color=#0000ff>else</FONT> <BR>{ <BR><FONT 
                  color=#800000>cout</FONT>&lt;&lt;a; <BR><FONT 
                  color=#0000ff>break</FONT>; <BR>} <BR>} <BR>system("pause"); 
                  <BR>}</TD></TR></TBODY></TABLE><BR>  最后再给出一个对文件流错误标记处理的例子,巩固学习,代码如下:<BR><BR>
            <TABLE borderColor=#cccccc width="90%" align=center bgColor=#e7e9e9 
            border=1>
              <TBODY>
              <TR>
                <TD><FONT color=#008000>//程序作者:管宁</FONT> <BR><FONT 
                  color=#008000>//站点:www.cndev-lab.com</FONT> <BR><FONT 
                  color=#008000>//所有稿件均有版权,如要转载,请务必著名出处和作者</FONT> 
                  <BR>#include&lt;<FONT color=#800000>iostream</FONT>&gt; 
                  <BR>#include&lt;<FONT color=#800000>fstream</FONT>&gt; 
                  <BR><FONT color=#0000ff>using</FONT><FONT 
                  color=#0000ff>namespace</FONT>std; <BR><BR><FONT 
                  color=#0000ff>int</FONT><FONT color=#0000ff>main</FONT>() 
                  <BR>{ <BR>ifstreammyfile("c:\\1.txt",ios_base::in,0); 
                  <BR><FONT color=#0000ff>if</FONT>(myfile.fail()) <BR>{ 
                  <BR><FONT 
                  color=#800000>cout</FONT>&lt;&lt;"文件读取失败或指定文件不存在!"&lt;&lt;endl; 
                  <BR>} <BR><FONT color=#0000ff>else</FONT> <BR>{ <BR><FONT 
                  color=#0000ff>char</FONT>ch; <BR><FONT 
                  color=#0000ff>while</FONT>(myfile.get(ch)) <BR>{ <BR><FONT 
                  color=#800000>cout</FONT>&lt;&lt;ch; <BR>} <BR><FONT 
                  color=#0000ff>if</FONT>(myfile.eof()) <BR>{ <BR><FONT 
                  color=#800000>cout</FONT>&lt;&lt;"文件内容已经全部读完"&lt;&lt;endl; 
                  <BR>} <BR><FONT color=#0000ff>while</FONT>(myfile.get(ch)) 
                  <BR>{ <BR><FONT color=#800000>cout</FONT>&lt;&lt;ch; <BR>} 
                  <BR>} <BR>system("pause"); <BR>}</TD></TR></TBODY></TABLE>
            <P>
            <P>[!--empirenews.page--]C++的iostream标准库介绍(7)[/!--empirenews.page--]</P>C语言提供了<STRONG><FONT 
            color=#ff0000>格式化输入输出</FONT></STRONG>的方法,C++也同样,但是C++的<FONT 
            color=#ff0000><STRONG>控制符</STRONG></FONT>使用起来更为简单方便,在c++下有两中方法控制格式化输入输出。 
            <BR><BR>  1.有流对象的成员函数。 <BR><BR>  例如,下列程序以成员函数的方式控制输出的精度:<BR><BR>
            <TABLE borderColor=#cccccc width="90%" align=center bgColor=#e7e9e9 
            border=1>
              <TBODY>
              <TR>
                <TD><FONT color=#008000>//程序作者:管宁</FONT> <BR><FONT 
                  color=#008000>//站点:www.cndev-lab.com</FONT> <BR><FONT 
                  color=#008000>//所有稿件均有版权,如要转载,请务必著名出处和作者</FONT> 
                  <BR><BR>#include&lt;<FONT color=#800000>iostream</FONT>&gt; 
                  <BR><FONT color=#0000ff>using</FONT><FONT 
                  color=#0000ff>namespace</FONT>std; <BR><BR><FONT 
                  color=#0000ff>int</FONT><FONT color=#0000ff>main</FONT>() 
                  <BR>{ <BR><FONT color=#0000ff>float</FONT>pi=3.14159f; 
                  <BR><FONT color=#800000>cout</FONT>&lt;&lt;pi&lt;&lt;endl; 
                  <BR><FONT color=#800000>cout</FONT>.precision(2); <BR><FONT 
                  color=#800000>cout</FONT>&lt;&lt;pi&lt;&lt;endl; 
                  <BR>system("pause"); 
            <BR>}</TD></TR></TBODY></TABLE><BR>  2.使用C++输入输出控制符,控制符是在拖文件iomanip.h中定义的对象,与成员函数有一样的效果,控制符不必像成员函数学那样单独调用,它可以直接插入流中使用。 
            <BR><BR>  例如,下列程序以控制符的方式控制输出的精度:<BR><BR>
            <TABLE borderColor=#cccccc width="90%" align=center bgColor=#e7e9e9 
            border=1>
              <TBODY>
              <TR>
                <TD><FONT color=#008000>//程序作者:管宁</FONT> <BR><FONT 
                  color=#008000>//站点:www.cndev-lab.com</FONT> <BR><FONT 
                  color=#008000>//所有稿件均有版权,如要转载,请务必著名出处和作者</FONT> 
                  <BR><BR>#include&lt;<FONT color=#800000>iostream</FONT>&gt; 
                  <BR>#include&lt;<FONT color=#800000>iomanip</FONT>&gt; 
                  <BR><FONT color=#0000ff>using</FONT><FONT 
                  color=#0000ff>namespace</FONT>std; <BR><BR><FONT 
                  color=#0000ff>int</FONT><FONT color=#0000ff>main</FONT>() 
                  <BR>{ <BR><FONT color=#0000ff>float</FONT>pi=3.14159f; 
                  <BR><FONT color=#800000>cout</FONT>&lt;&lt;pi&lt;&lt;endl; 
                  <BR><FONT color=#800000>cout</FONT>&lt;&lt;setprecision(4); 
                  <BR><FONT color=#800000>cout</FONT>&lt;&lt;pi&lt;&lt;endl; 
                  <BR>system("pause"); 
            <BR>}</TD></TR></TBODY></TABLE><BR>  下表我们列出了一些比较常用的控制符号,由于篇幅有限读者请根据自己的需要查阅相关书籍:<BR><BR>  对于iostream标准库来说包含了众多的成员函数,各函数都有其自身的作用,篇幅问题笔者在这里不能一一说明例举,由于标准输入对象cin提供输入的时候会自动以空格作为分界,给我们获取一行带有空格的完整字符串带来了困难,在这里补充一个非常用有的成员函数----getline()。 
            <BR><BR>  其函数原型为: <BR><BR>  getlin(chiar *str,int size,char='\n'); 
            <BR><BR>  第一个参数是字符数组,用于存放整行文本,第二个参数读取的最大字符个数,第三个参数为作为分界界限的字符,默认识是\n,换行符。 
            <BR><BR>  示例代码如下:<BR><BR>
            <TABLE borderColor=#cccccc width="90%" align=center bgColor=#e7e9e9 
            border=1>
              <TBODY>
              <TR>
                <TD><FONT color=#008000>//程序作者:管宁</FONT> <BR><FONT 
                  color=#008000>//站点:www.cndev-lab.com</FONT> <BR><FONT 
                  color=#008000>//所有稿件均有版权,如要转载,请务必著名出处和作者</FONT> 
                  <BR><BR>#include&lt;<FONT color=#800000>iostream</FONT>&gt; 
                  <BR>#include&lt;<FONT color=#800000>iomanip</FONT>&gt; 
                  <BR><FONT color=#0000ff>using</FONT><FONT 
                  color=#0000ff>namespace</FONT>std; <BR><BR><FONT 
                  color=#0000ff>int</FONT><FONT color=#0000ff>main</FONT>() 
                  <BR>{ <BR><FONT color=#0000ff>char</FONT>str[100]; <BR><FONT 
                  color=#800000>cin</FONT>.getline(str,<FONT 
                  color=#0000ff>sizeof</FONT>(str),'\n'); <BR><FONT 
                  color=#800000>cout</FONT>&lt;&lt;str&lt;&lt;endl; 
                  <BR>system("pause"); 
            <BR>}</TD></TR></TBODY></TABLE><BR>  通过上面内容的学习,我们对i/o有了一些基本点基本的认识,现在是该切入正题的时候了,详细学习一下,如何重载左移与右移操作符。 

⌨️ 快捷键说明

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