您好,登錄后才能下訂單哦!
本篇內容介紹了“istream常用函數有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
函數功能:從輸入緩沖區中獲取字符串。
按照獲取的字符串的結果類型,可以把get函數的重載劃分為3種形式:
獲取單個字符
int get(); istream& get (char& c);
從輸入緩沖區獲取單個字符,無參數時返回獲取到的字符的asc碼,有參數時把獲取到的字符存儲到參數中。
代碼測試:
#include <iostream> using namespace std; int main () { char a, b, c; int res = cin.get(); cout << "res: " << res << endl; cin.get(a).get(b).get(c); cout << "a: " << a << "\nb: " << b << "\nc: " << c << endl; return 0; } 輸入:abcdef 輸出: res: 97 a: b b: c c: d
2.獲取c風格的字符串
istream& get (char* s, streamsize n); istream& get (char* s, streamsize n, char delim);
從輸入緩沖區中獲取n-1個字符(不足n-1個字符時,獲取當前緩沖區所有的字符),并添加\0。
分隔符delim不設置時,默認為\n。
結束條件:下一個要獲取的為分隔符、獲取n-1個字符串。
代碼測試:
#include <iostream> using namespace std; int main () { char ch[1024]; cin.get(ch, 10); cout << "ch2: " << ch << endl; cin.get(ch, 10, ','); cout << "ch3: " << ch << endl; cin.get(ch, 10, ','); cout << "ch4: " << ch << endl; return 0; } 輸入: aaabbbcccddd,eeefffhhhiii 輸出: ch2: aaabbbccc ch3: ddd ch4:
3.獲取streambuf
istream& get (streambuf& sb); istream& get (streambuf& sb, char delim);
分隔符delim不設置時,默認為\n。
結束條件:下一個要獲取的為分隔符。
#include <iostream> #include <sstream> using namespace std; int main () { stringbuf sb; cin.get(sb, ','); cout << sb.str(); return 0; } 輸入: abc def, 輸出: abc def
“istream常用函數有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。