第19册章输入输出流.pptVIP

  • 0
  • 0
  • 约1.19万字
  • 约 50页
  • 2019-03-25 发布于福建
  • 举报
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 例 逐个读入一行字符,将其中的非空格字符输出。 #include iostream using namespace std; int main( ) {char c; while(!cin.eof( ))//eof( )为假表示未遇到文件结束符 if((c=cin.get( ))!=′ ′) //检查读入的字符是否为空格字符 cout.put(c); return 0; } 运行情况如下: C++ is very interesting.↙ C++isveryinteresting. ^Z(结束) 2. peek函数 peek是“观察”的意思,peek函数的作用是观测下一个字符。其调用形式为 c=cin.peek( );cin.peek 函数的返回值是指针指向的当前字符,但它只是观测,指针仍停留在当前位置,并不后移。如果要访问的字符是文件结束符,则函数值是EOF(-1)。 3. putback函数 其调用形式为 cin.putback(ch); 其作用是将前面用get或getline函数从输入流中读取的字符ch返回到输入流,插入到当前指针位置,以供后面读取。 例7.9 peek函数和putback函数的用法。 #include iostream using namespace std; int main( ) {char c[20]; int ch; cout″please enter a sentence:″endl; cin.getline(c,15,′/′); cout″The first part is:″cendl; ch=cin.peek( );//观看当前字符 cout″The next character(ASCII code) is:″chendl; cin.putback(c[0]); //将′I′插入到指针所指处 cin.getline(c,15,′/′); cout″The second part is:″cendl; return 0; } 运行情况如下: please enter a sentence: I am a boy./ am a student./↙ The first part is:I am a boy. The next character(ASCII code) is:32(下一个字符是空格) The second part is:I am a student 4. ignore函数 其调用形式为 cin,ignore(n, 终止字符) 函数作用是跳过输入流中n个字符,或在遇到指定的终止字符时提前结束(此时跳过包括终止字符在内的若干字符)。如 ighore(5, ′A′)//跳过输入流中5个字符,遇′A′后就不再跳了 也可以不带参数或只带一个参数。如 ignore( )(n默认值为1,终止字符默认为EOF) 相当于 ignore(1,EOF) 例7.10用ignore函数跳过输入流中的字符。 先看不用ignore函数的情况: #include iostream using namespace std; int main( ) {char ch[20]; cin.get(ch,20,′/′); cout″The first part is:″chendl; cin.get(ch,20,′/′); cout″The second part is:″chendl; return 0; } 运行结果如下: I like C++./I study C++./I am happy.↙ The first part is:I like C++. The second part is:(字符数组ch中没有从输入流中读取有效字符) 19.4 文件操作与文件流 19.4.1 文件流类与文件流对象 文件流是以外存文件为输入输出对象的数据流。输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据。每一个文件流都有一个内存缓冲区与之对应。 请区分文件流与文件的概念。文件流本身不是文件,而只是以文件为输入输出对象的流。若要对磁盘文件输入输出,就必须通过文件流来实现。 有3个用于文件操作的文件类: (1) ifstream类,它是从istream类派生的。 用来支持从磁盘文件的输入。 (2) ofstream类,它是从ostrea

文档评论(0)

1亿VIP精品文档

相关文档