欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

C++中與輸入相關(guān)的istream類成員函數(shù)簡介

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

eof 函數(shù)

eof是end of file的縮寫,表示“文件結(jié)束”。從輸入流讀取數(shù)據(jù),如果到達(dá)文件末尾(遇文件結(jié)束符),eof函數(shù)值為非零值(真),否則為0(假)。

[例] 逐個讀入一行字符,將其中的非空格字符輸出。

#include <iostream>
using namespace std;
int main( )
{
  char c;
  while(!cin.eof( )) //eof( )為假表示未遇到文件結(jié)束符
  if((c=cin.get( ))!=' ') //檢查讀入的字符是否為空格字符
   cout.put(c);
  return 0;
}

運(yùn)行情況如下:

C++ is very interesting.↙
C++isveryinteresting.
^Z(結(jié)束)



peek函數(shù)

peek是“觀察”的意思,peek函數(shù)的作用是觀測下一個字符。其調(diào)用形式為:

  c=cin.peek( );


函數(shù)的返回值是指針指向的當(dāng)前字符,但它只是觀測,指針仍停留在當(dāng)前位置,并不后移。如果要訪問的字符是文件結(jié)束符,則函數(shù)值是EOF(-1)。
putback函數(shù)

其調(diào)用形式為

  cin.putback(ch);


其作用是將前面用get或getline函數(shù)從輸入流中讀取的字符ch返回到輸入流,插入到當(dāng)前指針位置,以供后面讀取。

[例] peek函數(shù)和putback函數(shù)的用法。

#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:"<<c<<endl;
  ch=cin.peek( ); //觀看當(dāng)前字符
  cout<<"The next character(ASCII code) is:"<<ch<<endl;
  cin.putback(c[0]); //將'I'插入到指針?biāo)柑?
  cin.getline(c,15,'/');
  cout<<"The second part is:"<<c<<endl;
  return 0;
}

運(yùn)行情況如下:

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

ignore函數(shù)

其調(diào)用形式為

  cin.ignore(n, 終止字符)


函數(shù)作用是跳過輸入流中n個字符,或在遇到指定的終止字符時提前結(jié)束(此時跳過包括終止字符在內(nèi)的若干字符)。如
 

  ighore(5, 'A') //跳過輸入流中個字符,遇'A'后就不再跳了


也可以不帶參數(shù)或只帶一個參數(shù)。如

  ignore( ) // n默認(rèn)值為,終止字符默認(rèn)為EOF


相當(dāng)于

  ignore(1, EOF)

[例] 用ignore函數(shù)跳過輸入流中的字符。先看不用ignore函數(shù)的情況:

#include <iostream>
using namespace std;
int main( )
{
  char ch[20];
  cin.get(ch,20,'/');
  cout<<"The first part is:"<<ch<<endl;
  cin.get(ch,20,'/');
  cout<<"The second part is:"<<ch<<endl;
  return 0;
}

運(yùn)行結(jié)果如下:

I like C++./I study C++./I am happy.↙
The first part is:I like C++.
The second part is:(字符數(shù)組ch中沒有從輸入流中讀取有效字符)

如果希望第二個cin.get函數(shù)能讀取"I study C++.",就應(yīng)該設(shè)法跳過輸入流中第一個'/',可以用ignore函數(shù)來實現(xiàn)此目的,將程序改為:

#include <iostream>
using namespace std;
int main( )
{
  char ch[20];
  cin.get(ch,20,'/');
  cout<<"The first part is:"<<ch<<endl;
  cin.ignore( );//跳過輸入流中一個字符
  cin.get(ch,20,'/');
  cout<<"The second part is:"<<ch<<endl;
  return 0;
}

運(yùn)行結(jié)果如下:

I like C++./I study C++./I am happy.↙
The first part is:I like C++.
The second part is:I study C++.

以上介紹的各個成員函數(shù),不僅可以用cin流對象來調(diào)用,而且也可以用istream類的其他流對象調(diào)用。

上一篇:詳解C++編程中的虛函數(shù)

欄    目:C語言

下一篇:詳解C++編程中的重載流插入運(yùn)算符和流提取運(yùn)算符

本文標(biāo)題:C++中與輸入相關(guān)的istream類成員函數(shù)簡介

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2688.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有