1. istream的類方法
常用的istream的類方法有:
- 方法
get(char&)和get(void)提供不跳過(guò)空白的單字符輸入功能; - 函數(shù)
get(char*, int, char)和getline(char*, int, char)在默認(rèn)情況下讀取整行而不是一個(gè)單詞。 
單字符輸入 :
在使用char參數(shù)或沒(méi)有參數(shù)的情況下,get()方法讀取下一個(gè)輸入字符,即使該字符是空格、制表符或換行符。
get(char & ch)------該版本將輸入字符賦給其參數(shù),并返回調(diào)用對(duì)象(cin)。
get(void)-----------該版本將輸入字符轉(zhuǎn)換為整型(通常是int),并將其返回。
兩者的主要特性如下:

字符串輸入 :
getline()成員函數(shù)和get()的字符串讀取版本都讀取字符串,它們的函數(shù)特征標(biāo)相同(這是從更為通用的模板聲明簡(jiǎn)化而來(lái)的):
istream & get(char *, int, char);
istream & get(char *, int);
istream & getline(char *, int, char);
istream & getline(char *, int);
【 注 :第一個(gè)參數(shù)是用于放置輸入字符串的內(nèi)存單元的地址。第二個(gè)參數(shù)比要讀取的最大字符數(shù)大1(額外的一個(gè)字符用于存儲(chǔ)結(jié)尾的空字符,以便將輸入存儲(chǔ)為一個(gè)字符串)。第3個(gè)參數(shù)指定用作分界符的字符,只有兩個(gè)參數(shù)的版本將換行符用作分界符。上述函數(shù)都在讀取最大數(shù)目的字符或遇到換行符后為止】
例如:
char line[50];
cin.get(line, 50);//cin.get( )函數(shù)將在到達(dá)第49個(gè)字符或遇到換行符(默認(rèn)情況)后停止將輸入讀取到數(shù)組中
【 注 :get()和getline()之間的主要區(qū)別在于,get()將換行符留在輸入流中,這樣接下來(lái)的輸入操作首先看到的將是換行符,而getline()抽取并丟棄輸入流中的換行符。】
如何忽略字符串中某些內(nèi)容呢?C++為我們提供了ignore( )函數(shù),該函數(shù)的原型如下:
//第一個(gè)參數(shù)是一個(gè)數(shù)字,指定要讀取忽略的最大字符數(shù),默認(rèn)為1
//第二個(gè)參數(shù)是一個(gè)字符,用作輸入的分界符,默認(rèn)為EOF
istream & ignore(int = 1, int = EOF);
//eg:
if (ch != 'n') cin.ignore(255, 'n');  //可以用來(lái)忽略上次輸入流中殘余的字符串
2. 其他istream方法
除前面討論過(guò)的外,其他istream方法包括read()、peek()、gcount()和putback()。

其使用方法如下:
//read()
char read_arr[100];
cin.read(read_arr, 100);//其返回值類型為istream &,可以這樣拼接使用:cin.read(read_arr, 10).read(read_arr + 10, 90);
//peek()
char input[100];
int i = 0;
while(cin.peek() != '.')
    cin.get(input[i++]);
input[i]='?';
//gcount()
char arr[20]; 
istringstream stream("abc"); 
stream.read(arr, sizeof arr); 
auto count = stream.gcount();//count = 3
//putback()
char c;
int n;
char str[256];
cout < < "Enter a number or a word: ";
c = cin.get();
if ((c >= '0') && (c <= '9')) {
    cin.putback(c);
    cin > > n;
    cout < < "You have entered number " < < n < < endl;
} else {
    cin.putback(c);
    cin > > str;
    cout < < " You have entered word " < < str < < endl;
}
- 
                                存儲(chǔ)器
                                +關(guān)注
關(guān)注
39文章
7700瀏覽量
170509 - 
                                字符串
                                +關(guān)注
關(guān)注
1文章
594瀏覽量
22983 - 
                                C++語(yǔ)言
                                +關(guān)注
關(guān)注
0文章
147瀏覽量
7513 
發(fā)布評(píng)論請(qǐng)先 登錄
如何使用Python的類? 優(yōu)勢(shì)有哪些?
Python中的類方法、實(shí)例方法和靜態(tài)方法?
請(qǐng)問(wèn)Python中的類方法、實(shí)例方法和靜態(tài)方法是什么?
基于數(shù)據(jù)連續(xù)性的聚類方法
    
Java數(shù)組的常用方法_Java:數(shù)組工具類Arrays類的常用方法的用法及代碼
可提取非線性結(jié)構(gòu)的子空間聚類方法
Java中Arrays類是什么 Arrays常用方法
    
super調(diào)用父類的構(gòu)造方法
    
Object類中的所有方法
    
          
        
        
istream的類方法?常用的istream的類方法有哪些?
                
 
    
           
            
            
                
            
評(píng)論