中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iostream頭文件的作用有哪些

發布時間:2021-03-26 09:15:27 來源:億速云 閱讀:3497 作者:小新 欄目:編程語言

小編給大家分享一下iostream頭文件的作用有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

iostream頭文件包含了操作輸入輸出流的方法,比如讀取一個文件,以流的方式讀取;其作用是:讓初學者有一個方便的命令行輸入輸出試驗環境。iostream的設計初衷是提供一個可擴展的類型安全的IO機制。

C++語言不直接處理輸入輸出,而是通過一簇定義在標準庫中的類型來處理IO。這些類型支持從設備讀取數據、向設備寫入數據的IO操作,設備可以是文件、控制臺窗口等。還有一些類型允許內存IO,即,從string讀取數據,向string寫入數據。

C++/C++11中頭文件<iostream>定義了標準輸入/輸出流對象。包含了<iostream>也自動包含了<ios>、<streambuf>、<istream>、<ostream>和<iosfwd>。

頭文件<iostream>中的對象包括:

(1)、narrow characters(char)即窄字符:cin(standard input stream (object))、cout(standard output stream (object))、cerr(standard output stream for errors (object))、clog(standard output stream for logging (object));

(2)、wide characters(wchar_t)即寬字符:wcin(standard input stream (wide) (object))、wcout(standard output stream (wide)  (object))、wcerr(standard output stream for errors  (wide)  (object))、wclog(standard output stream for logging (wide) (object))。

__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 istream cin, *_Ptr_cin;
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 ostream cout, *_Ptr_cout;
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 ostream cerr, *_Ptr_cerr;
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 ostream clog, *_Ptr_clog;

__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 wistream wcin, *_Ptr_wcin;
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 wostream wcout, *_Ptr_wcout;
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 wostream wcerr, *_Ptr_wcerr;
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 wostream wclog, *_Ptr_wclog;

C++ IO heads, templates and class ( https://www.ntu.edu.sg/home/ehchua/programming/cpp/cp10_IO.html ):

iostream頭文件的作用有哪些

IO庫:

(1)、istream(輸入流)類型,提供輸入操作;

(2)、ostream(輸出流)類型,提供輸出操作;

(3)、cin,一個istream對象,標準輸入流,用來從標準輸入讀取數據;

(4)、cout,一個ostream對象,標準輸出流,從標準輸出寫入數據,輸出可以重定向( “>” 或“1>”)到一個指定文件中;用于將數據寫入標準輸出,通常用于程序的正常輸出內容。

(5)、cerr,一個ostream對象,標準錯誤流,通常用于輸出程序錯誤信息或與其它不屬于正常邏輯的輸出內容,寫入到標準錯誤,默認情況下,寫到cerr的數據是不緩沖的;錯誤信息可以直接發送到顯示器,而無需等到緩沖區或者新的換行符時,才被顯示;可以通過” 2> ”方式重定向輸出到指定文件中;cerr通常用于輸出錯誤信息或其它不屬于程序正常邏輯的輸出內容。

(6)、clog:一個ostream對象,標準錯誤流,關聯到標準錯誤;與cerr區別:cerr和clog都是標準錯誤流,區別在于cerr不經過緩沖區,直接向顯示器輸出信息,而clog中的信息默認會存放在緩沖區,緩沖區滿或者遇到endl時才輸出;默認情況下,寫到clog的數據是被緩沖的。clog通常用于報告程序的執行信息,存入一個日志文件中。

(7)、>>運算符,用來從一個istream對象讀取輸入數據;

(8)、<<運算符,用來向一個ostream對象寫入輸出數據;

(9)、getline函數,從一個給定的istream讀取一行數據,存入一個給定的string對象中。

IO庫類型和頭文件:iostream定義了用于讀寫流的基本類型,fstream定義了讀寫命名文件的類型,sstream定義了讀寫內存string對象的類型,如下圖:

iostream頭文件的作用有哪些

為了支持使用寬字符的語言,標準庫定義了一組類型和對象來操縱wchar_t類型的數據。寬字符版本的類型和函數的名字以一個w開始。例如,wcin、wcout和wcerr是分別對應cin、cout和cerr的寬字符版對象。寬字符版本的類型和對象與其對應的普通char版本的類型定義在同一個頭文件中。

測試代碼如下:

#include "iostream.hpp"
#include <iostream>

// reference: http://www.tutorialspoint.com/cplusplus/cpp_basic_input_output.htm
int test_iostream_cout()
{
	char str[] = "Hello C++";
	std::cout << "Value of str is : " << str << std::endl;

	return 0;
}

int test_iostream_cin()
{
	char name[50];

	std::cout << "Please enter your name: ";
	std::cin >> name;
	std::cout << "Your name is: " << name << std::endl;

	return 0;
}

int test_iostream_clog()
{
	char str[] = "Unable to read....";
	std::clog << "Error message : " << str << std::endl;

	return 0;
}

int test_iostream_cerr()
{
	char str[] = "Unable to read....";
	std::cerr << "Error message : " << str << std::endl;

	return 0;
}

// reference: https://msdn.microsoft.com/en-us/library/6xwbdak2(v=vs.80).aspx
static void TestWide()
{
	int i = 0;
	std::wcout << L"Enter a number: ";
	std::wcin >> i;
	std::wcerr << L"test for wcerr" << std::endl;
	std::wclog << L"test for wclog" << std::endl;
}

int test_iostream_w()
{
	int i = 0;
	std::cout << "Enter a number: ";
	std::cin >> i;
	std::cerr << "test for cerr" << std::endl;
	std::clog << "test for clog" << std::endl;

	TestWide();

	return 0;
}

以上是“iostream頭文件的作用有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安丘市| 五原县| 平顶山市| 镇原县| 镶黄旗| 泗阳县| 顺平县| 吴忠市| 宿州市| 贵州省| 日照市| 宁强县| 樟树市| 金昌市| 炎陵县| 鹤庆县| 吉林省| 五大连池市| 新民市| 新泰市| 从化市| 龙门县| 屯昌县| 清涧县| 拉萨市| 宜君县| 陇南市| 武鸣县| 东乡县| 秦皇岛市| 五家渠市| 赞皇县| 正定县| 鹿邑县| 商水县| 瑞金市| 平谷区| 荔波县| 昆山市| 金秀| 长葛市|