C++标准输入流
C++標(biāo)準(zhǔn)輸入流
開發(fā)工具與關(guān)鍵技術(shù):C++、VisualStudio 作者:何任賢 撰寫時間:2019年07月06日 C++程序中,對數(shù)據(jù)的輸出輸入是以字節(jié)流實現(xiàn)的, 應(yīng)用程序?qū)ψ止?jié)序列作 出各種數(shù)據(jù)解釋, I/O系統(tǒng)的任務(wù)就是在內(nèi)存和外部設(shè)備之間穩(wěn)定可靠地傳 輸數(shù)據(jù)和解釋數(shù)據(jù)。流類對象可以建立和刪除,可以從流中獲取數(shù)據(jù)和向流添加數(shù)據(jù),c++的輸出流都是以字節(jié)形式進(jìn)行數(shù)據(jù)傳遞。
c++中我們常用的是標(biāo)準(zhǔn)流,標(biāo)準(zhǔn)流是C++預(yù)定義的對象,提供內(nèi)存與外部設(shè)備進(jìn)行數(shù)據(jù)交互功能,流的操作是流類的公有成員函數(shù)。
我們在操作標(biāo)準(zhǔn)流的時候一般是用到iostream.h頭文件,它包含所有的標(biāo)準(zhǔn)輸入流操作。
流庫(stream library)是用繼承方法建立的輸入輸出類庫, 流庫具有兩個平行的基類:streambuf 和 ios 類,所有流類均以兩者之一作為基類,意思是c++中所有輸出輸入流的基類都是streambuf 和 ios 類,而標(biāo)準(zhǔn)流的基類就是ios類。
標(biāo)準(zhǔn)輸入流關(guān)鍵字是cin是istream 類的對象,而istream 類則是在iostream.h頭文件中所以我們在使用標(biāo)準(zhǔn)流是需要包含iostream.h頭文件,一般情況下連接鍵盤,cin重定向方法:把程序編譯成 .exe文件,在 DOS 狀態(tài)下以命令參數(shù)形式對標(biāo)準(zhǔn)流重定向。
istream類的公有成員函數(shù),即輸入流操作:
函數(shù) 功能
read() 無格式輸入指定字節(jié)數(shù)
get() 從流中提取字符,包括空格
getline() 從流中提取一行字符
ignore() 提取并丟棄流中指定字符
peek() 返回流中下一個字符,但不從流中刪除
gcount() 統(tǒng)計最后輸入的字符個數(shù)
狀態(tài)標(biāo)志 值 含義
skipws 0X0001 跳過輸入中的空白
dec 0X0010 轉(zhuǎn)換基制為十進(jìn)制
oct 0X0020 轉(zhuǎn)換基制為八進(jìn)制
hex 0X0040 轉(zhuǎn)換基制為十六進(jìn)制
下面是對上面的一些函數(shù)和標(biāo)志字的演示:
#include
using namespace std;
void main()
{
char b;
char c[15] = {0};
int d = 0;
d = cin.peek();
cout << “peek函數(shù):” << d << “\n”;
cin.get(b);
cout << “get函數(shù):” << b << “\n”;
cin.ignore(5);
d = cin.peek();
cout << “peek函數(shù):” << d << “\n”;
cin >> c;
cout << “ignore函數(shù):” << c << “\n”;
d = cin.gcount();
cout << “gcount函數(shù):” << d << “\n”;
cin.setf(ios::oct, ios::basefield); cin >> d;
cout << “oct標(biāo)志字” << d << “\n”;
cin.setf(ios::hex, ios::basefield); cin >> d;
cout << “hex標(biāo)志字” << d << “\n”;
}
總結(jié)
- 上一篇: 产品经理必看:终于有人把数据指标讲明白了
- 下一篇: 2021年小红书美妆护肤品类行业洞察报告