ホームページ  >  記事  >  バックエンド開発  >  iostreamヘッダーファイルの機能は何ですか

iostreamヘッダーファイルの機能は何ですか

青灯夜游
青灯夜游オリジナル
2021-03-25 15:45:4926886ブラウズ

iostream ヘッダー ファイルには、ストリーム内のファイルの読み取りなど、入出力ストリームを操作するためのメソッドが含まれています。その機能は、初心者が便利なコマンド ライン入出力テスト環境を利用できるようにすることです。 iostream は、拡張可能なタイプセーフ IO メカニズムを提供するように設計されています。

iostreamヘッダーファイルの機能は何ですか

このチュートリアルの動作環境: Windows 7 システム、C 17 バージョン、Dell G3 コンピューター。

C 言語は入出力を直接処理しませんが、標準ライブラリで定義された型のセットを通じて IO を処理します。これらのタイプは、デバイスからのデータの読み取りとデバイスへのデータの書き込みを行う IO 操作をサポートします。デバイスとは、ファイル、コンソール ウィンドウなどです。メモリ IO、つまり文字列からのデータの読み取りと文字列へのデータの書き込みを可能にするタイプもあります。

C/C 11 のヘッダー ファイル 317e6b6395ab75e70e7f0880af8f6835 は、標準の入出力ストリーム オブジェクトを定義します。 を含めると、、および も自動的に組み込まれます。

ヘッダー ファイル 317e6b6395ab75e70e7f0880af8f6835 内のオブジェクトには次が含まれます:

(1)、ナロー文字 (char): cin(標準入力ストリーム (オブジェクト))、cout(標準出力ストリーム (オブジェクト) ))、cerr (エラーの標準出力ストリーム (オブジェクト))、clog (ログ記録の標準出力ストリーム (オブジェクト));

(2)、ワイド文字 (wchar_t)、つまりワイド文字: wcin (標準入力ストリーム (ワイド) (オブジェクト))、wcout (標準出力ストリーム (ワイド) (オブジェクト))、wcerr (エラー用の標準出力ストリーム (ワイド) (オブジェクト))、wclog (ログ用の標準出力ストリーム (ワイド) (物体))。

__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 ヘッド、テンプレート、クラス ( https://www.ntu.edu.sg/home/ehchua/programming/cpp/cp10_IO.html ):

IO ライブラリ:

(1)、istream (入力ストリーム) タイプ、入力操作を提供します;

(2)、ostream (出力ストリーム) タイプ、出力操作を提供します。

(3)、cin、istream オブジェクト、標準入力ストリーム、標準入力からデータを読み取るために使用されます;

(4)、cout、ostream オブジェクト、標準出力ストリーム、標準出力からデータを書き込み、出力は指定されたファイルにリダイレクト (「>」または「1>」) できます。標準出力にデータを書き込むために使用され、通常はプログラムの通常の出力コンテンツに使用されます。

(5)、cerr、ostream オブジェクト、標準エラー ストリーム。通常、プログラム エラー情報または通常のロジックに属さないその他の出力コンテンツを出力するために使用され、標準エラーに書き込まれます。デフォルトでは、 cerr のデータはバッファリングされません。エラー メッセージは、バッファや表示前の改行を待たずにディスプレイに直接送信できます。出力は、「2>」メソッドを通じて指定されたファイルにリダイレクトできます。通常、プログラムの通常のロジックに属さないエラー メッセージまたはその他の出力コンテンツを出力するために使用されます。

(6)、clog: ostream オブジェクト、標準エラー ストリーム、標準エラーに関連付けられています。cerr との違い: cerr と clog は両方とも標準エラー ストリームであり、違いは cerr がバッファを通過しないことです。モニター情報に直接出力され、clog 内の情報はデフォルトでバッファーに保管され、バッファーが満杯になるか、endl に遭遇した場合にのみ出力されます。デフォルトでは、clog に書き込まれるデータはバッファリングされます。 Clog は通常、プログラムの実行情報をレポートし、ログ ファイルに保存するために使用されます。

(7)、>> 演算子、istream オブジェクトから入力データを読み取るために使用されます;

(8)、<

(9)、getline 関数は、指定された istream からデータ行を読み取り、指定された文字列オブジェクトに格納します。

IO ライブラリ タイプとヘッダー ファイル: 以下に示すように、iostream はストリームの読み取りと書き込みの基本タイプを定義し、fstream は名前付きファイルの読み取りと書き込みのタイプを定義し、sstream はメモリ文字列オブジェクトの読み取りと書き込みのタイプを定義します。以下:

ワイド文字を使用する言語をサポートするために、標準ライブラリは、wchar_t 型のデータを操作するための型とオブジェクトのセットを定義します。型と関数のワイド文字バージョンの名前は w で始まります。たとえば、wcin、wcout、および wcerr は、それぞれ cin、cout、および cerr のワイド文字バージョンです。型およびオブジェクトのワイド キャラクタ バージョンは、対応するプレーン キャラクタ バージョンのタイプと同じヘッダー ファイルで定義されます。

テスト コードは次のとおりです:

#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;
}

関連する推奨事項: C ビデオ チュートリアル

以上がiostreamヘッダーファイルの機能は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。