C++ I/O 操作ではストリームの概念が使用されます。一連のバイトまたはデータの流れはストリームと呼ばれます。パフォーマンスが加速します。
バイトがメイン メモリからプリンタ、ディスプレイ画面、ネットワーク接続などのデバイスに転送される場合、これは出力操作と呼ばれます。
入力操作は、プリンタ、ディスプレイ画面、ネットワーク接続などのデバイスからメイン メモリにバイトが流れるときに発生します。
C++では、 事前定義された関数 宣言はヘッダー ファイルを通じて提供されるため、最初から新しいコードを記述することなく特定のタスクを実行できます。 C++ での入出力操作のための重要なヘッダー ファイルには、入出力タスクを効果的に実行するための関数が含まれています。 C++ プログラミング言語で作成されたクラスとメソッドのコレクションである C++ 標準ライブラリには、これらのヘッダー ファイルが含まれています。入出力操作のための主要なヘッダー ファイルについて説明します。
ヘッダーファイル | 機能と説明 |
---|---|
を定義するために使用されます。 cout、cin、cerr オブジェクトは、それぞれ標準出力ストリーム、標準入力ストリーム、標準エラー ストリームに対応します。 | |
これは、フォーマットされた I/O の実行に役立つサービスを宣言するために使用されます。 setprecision と setw。 | |
これは、ユーザー制御のファイル処理のためのサービスを宣言するために使用されます。 |
iostream: これは、C++ の入出力操作で最も重要なヘッダー ファイルの 1 つです。の略です '入出力' ストリーム。さまざまな形式の入出力ストリームを操作するには、 iostream ヘッダー ファイルにはクラスが含まれています istream (入力ストリーム) そして ostream (出力ストリーム) およびその派生クラス イフストリーム、オフストリーム 、 そして ストリングストリーム 。このヘッダー ファイルで最も一般的に使用されるクラスは次のとおりです。 cin (標準入力) そして cout (標準出力) を使用すると、ユーザー入力を読み取り、出力をコンソールに表示できます。例えば:
#include using namespace std; int main() { int num; cout <> num; cout << 'You entered: ' << num << endl; return 0; }
出力
Enter a number: 42 You entered: 42
イオマニプ: このヘッダー ファイルは、 「入出力操作」 。フォーマットするためのツールを提供します 入力 そして 出力 。これにより、 位置合わせ、幅、精度 、および入力と出力のその他の書式設定機能。 Setw、設定精度、固定、左、右 、その他定期的に使用される機能を以下に示します。これは、特定の方法でデータを表示する場合に特に便利です。
例:
#include #include using namespace std; int main() { double pi = 3.14159; cout << fixed << setprecision(2) << 'Value of pi: ' << pi << endl; return 0; }
出力
コンピューターはどうやって動くのか
Value of pi: 3.14
ストリーム: ファイル入出力操作用のヘッダファイルを呼びます。 fストリーム 。ファイルの読み取りと書き込みを行うクラスで構成されます。 ifstream (入力ファイルストリーム) そして ofstream (出力ファイルストリーム) 。システムはこれらのクラスを使用して、読み取り専用ファイルと書き込み専用ファイルを開きます。
例:
#include #include using namespace std; int main() { ofstream outputFile('output.txt'); if (outputFile.is_open()) { outputFile << 'Hello, File I/O!'; outputFile.close(); cout << 'File is written successfully.' << endl; } else { cout << 'Failed to open the file.' << endl; } return 0; }
出力
The file was written successfully.
これらのヘッダー ファイルは、C++ 入出力タスクにとって最も重要なものの 1 つです。それぞれに特定の目的があり、入力と出力を含むタスクを適切に管理するために必要なツールを提供します。 コンソール、出力のフォーマット 、またはファイルを操作します。
C++ では、頻繁に使用します。 '名前空間 std を使用します;' ヘッダファイルの後。の 名前空間std; ステートメントは、標準ライブラリ コンポーネントを操作するときにコードを合理化するために C++ で頻繁に使用されます。このステートメントの機能と応用をさらに詳しく調べてみましょう。
あ 名前空間 類似した識別子 ( クラス、関数 、 そして 変数 ) 名前の競合を防ぐため。 C++ 標準ライブラリは、その部分 (cin、cout など) を std 名前空間で提供します。
用語 '標準' に短縮されます 「標準」 、標準ライブラリのすべての要素がその中に含まれています。こうすることで、コード内に設定された識別子との名前の競合が軽減されます。
ここで、名前空間 std を使用する理由について説明します。ステートメントが使用されます:
名前空間 std を使用しない場合:
#include int main() { std::cout << 'Hello, world!' << std::endl; return 0; } With using namespace std: #include using namespace std; int main() { cout << 'Hello, world!' << endl; return 0; }
ご覧のとおり、 名前空間std; ステートメントを使用すると、 std:: プレフィックス 標準ライブラリコンポーネントにアクセスするとき。繰り返す必要がなくなるため、コードが短くなり、読みやすくなります。 標準:: 各標準ライブラリ識別子の前に。
I/O ライブラリのヘッダー ファイル
標準出力ストリーム (cout):
cout オブジェクトは、ostream クラスの事前定義オブジェクトです。標準出力デバイス (通常はディスプレイ画面) に接続されます。 cout は、ストリーム挿入演算子 (<<) to show the output on a console< p>
標準出力ストリーム (cout) の簡単な例を見てみましょう。
#include using namespace std; int main( ) { char ary[] = 'Welcome to C++ tutorial'; cout << 'Value of ary is: ' << ary << endl; }
出力
Value of ary is: Welcome to C++ tutorial
標準入力ストリーム (cin)
の 食べる の事前定義されたオブジェクトです ストリーム クラス。標準の入力デバイス (通常はキーボード) に接続されます。 cin は、コンソールから入力を読み取るためにストリーム抽出演算子 (>>) と組み合わせて使用されます。
標準入力ストリーム (cin) の簡単な例を見てみましょう。
#include using namespace std; int main( ) { int age; cout <> age; cout << 'Your age is: ' << age << endl; }
出力
Enter your age: 22 Your age is: 22
標準エンドライン(endl)
の 終わり の事前定義されたオブジェクトです 私たちの敵 クラス。これは、改行文字を挿入し、ストリームをフラッシュするために使用されます。
標準の終了行 (endl) の簡単な例を見てみましょう。
#include using namespace std; int main( ) { cout << 'C++ Tutorial'; cout << ' Javatpoint'<<endl; cout << 'end of line'<<endl; } < pre> <p> <strong>Output</strong> </p> <pre> C++ Tutorial Javatpoint End of line </pre> <h3>Un-buffered standard error stream (cerr):</h3> <p> <strong> <em>cerr</em> </strong> stands for <strong> <em>'standard error'</em> .</strong> </p> <p>It is an unbuffered stream, meaning that output sent to <strong> <em>cerr</em> </strong> is immediately displayed on the console without buffering.</p> <p>It is typically used for displaying error messages and diagnostic information, which need to be displayed immediately to avoid delays caused by buffering.</p> <p> <strong>Example: using cerr:</strong> </p> <pre> #include int main() { std::cerr << 'This is an error message.' << std::endl; return 0; } </pre> <p> <strong>Output</strong> </p> <pre> This is an error message. </pre> <h3>buffered standard error stream (clog):</h3> <p>clog stands for <strong> <em>'standard log'</em> </strong> . It is a buffered stream, similar to cout. It's often used for writing informational or diagnostic messages that are less time-sensitive than errors. The use of buffering can improve performance when displaying a large number of messages.</p> <p> <strong>Example: using clog</strong> </p> <pre> #include int main() { std::clog << 'This is an informational message.' << std::endl; return 0; } </pre> <p> <strong>Output</strong> </p> <pre> This is an informational message. </pre> <p>In both examples, the output will appear on the console. However, the main difference between <strong> <em>cerr</em> </strong> and <strong> <em>clog</em> </strong> lies in their buffering behavior. Due to its unbuffered nature, messages given to <strong> <em>cerr</em> </strong> are displayed right away, but messages sent to clog may be buffered for greater speed. However, they will still eventually appear on the console.</p> <h4>Note: It is important to remember that the type of message you wish to display will determine whether you use cerr or clog. Use cerr for essential messages that need immediate attention (like error messages) and use clog for less critical diagnostic or informational messages that can be buffered for better performance.</h4> <hr></endl;>
バッファリングされていない標準エラー ストリーム (cerr):
そうですね を意味する 「標準誤差」 。
これはバッファリングされていないストリームであり、出力が送信されることを意味します。 そうですね バッファリングせずにすぐにコンソールに表示されます。
これは通常、バッファリングによる遅延を避けるためにすぐに表示する必要があるエラー メッセージや診断情報を表示するために使用されます。
例: cerr の使用:
#include int main() { std::cerr << 'This is an error message.' << std::endl; return 0; }
出力
This is an error message.
バッファリングされた標準エラー ストリーム (詰まり):
クロッグの略 「標準ログ」 。これは、cout と同様のバッファリングされたストリームです。これは、エラーほど時間に依存しない情報メッセージや診断メッセージを書き込むためによく使用されます。バッファリングを使用すると、大量のメッセージを表示する際のパフォーマンスが向上します。
例: 下駄の使用
#include int main() { std::clog << 'This is an informational message.' << std::endl; return 0; }
出力
This is an informational message.
どちらの例でも、出力はコンソールに表示されます。ただし、主な違いは、 そうですね そして 詰まる バッファリング動作にあります。バッファリングされていない性質のため、送信されるメッセージは そうですね はすぐに表示されますが、clog に送信されたメッセージは高速化のためにバッファリングされる場合があります。ただし、最終的には引き続きコンソールに表示されます。
注: 表示するメッセージのタイプによって、cerr を使用するか clog を使用するかが決まることに留意することが重要です。即時の対応が必要な重要なメッセージ (エラー メッセージなど) には cerr を使用し、パフォーマンスを向上させるためにバッファリングできるそれほど重要ではない診断メッセージまたは情報メッセージには clog を使用します。
)>