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

字符串輸入 :
getline()成員函數和get()的字符串讀取版本都讀取字符串,它們的函數特征標相同(這是從更為通用的模板聲明簡化而來的):
istream & get(char *, int, char);
istream & get(char *, int);
istream & getline(char *, int, char);
istream & getline(char *, int);
【 注 :第一個參數是用于放置輸入字符串的內存單元的地址。第二個參數比要讀取的最大字符數大1(額外的一個字符用于存儲結尾的空字符,以便將輸入存儲為一個字符串)。第3個參數指定用作分界符的字符,只有兩個參數的版本將換行符用作分界符。上述函數都在讀取最大數目的字符或遇到換行符后為止】
例如:
char line[50];
cin.get(line, 50);//cin.get( )函數將在到達第49個字符或遇到換行符(默認情況)后停止將輸入讀取到數組中
【 注 :get()和getline()之間的主要區(qū)別在于,get()將換行符留在輸入流中,這樣接下來的輸入操作首先看到的將是換行符,而getline()抽取并丟棄輸入流中的換行符?!?/p>
如何忽略字符串中某些內容呢?C++為我們提供了ignore( )函數,該函數的原型如下:
//第一個參數是一個數字,指定要讀取忽略的最大字符數,默認為1
//第二個參數是一個字符,用作輸入的分界符,默認為EOF
istream & ignore(int = 1, int = EOF);
//eg:
if (ch != 'n') cin.ignore(255, 'n'); //可以用來忽略上次輸入流中殘余的字符串
2. 其他istream方法
除前面討論過的外,其他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;
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。
舉報投訴
-
存儲器
+關注
關注
39文章
7743瀏覽量
171823 -
字符串
+關注
關注
1文章
596瀏覽量
23183 -
C++語言
+關注
關注
0文章
147瀏覽量
7712
發(fā)布評論請先 登錄
相關推薦
熱點推薦
基于數據連續(xù)性的聚類方法
為了解決數據遺漏問題,根據類內樣品均勻分布的性質提出了一種新的聚類方法,該方法僅對類內樣品均勻分布性敏感,不需要預先設置包括
發(fā)表于 05-25 17:17
?0次下載
Java數組的常用方法_Java:數組工具類Arrays類的常用方法的用法及代碼
本文主要詳細介紹了Java數組的常用方法以及數組工具類Arrays類的常用方法的用法及代碼。
發(fā)表于 01-29 10:25
?3184次閱讀
Java中Arrays類是什么 Arrays常用方法
了解Arrays類的概念
**A****rrays** 位于java.util包下,Arrays是一個操作數組的工具類。
Arrays常用方法
Arrays.fill:
super調用父類的構造方法
我們分析這句話“父類對象的引用”,那說明我們使用的時候只能在子類中使用,既然是對象的引用,那么我們也可以用來調用成員屬性以及成員方法,當然了,這里的 super 關鍵字還能夠調用父類的構造方法
this可以出現在類方法中嗎
是的, this 關鍵字可以出現在類方法中。在Java中, this 是一個引用,用于引用當前對象的實例。它可以在類的實例方法中使用,以訪問該實例的成員變量和
諧波源定位常用的方法有哪些?
諧波源定位的核心是通過 “信號測量→特征分析→邏輯判斷”,確定電網中產生諧波的具體設備、用戶或區(qū)域,常用方法可按 “原理差異” 分為功率流向類、暫態(tài)對比類、阻抗分析
istream的類方法?常用的istream的類方法有哪些?
評論