「入出力ストリーム」の版間の差分

提供: C++入門
移動: 案内検索
(ページの作成:「<!-- vim: filetype=mediawiki --> __TOC__ == 概要 == プログラミングするときに、下記の3つの入出力を使い分けます。 * stdin * stdout * ...」)
 
 
(同じ利用者による、間の1版が非表示)
行1: 行1:
<!--
+
プログラムは、3つの入出力を持ちます。用途ごとに使い分けます。
vim: filetype=mediawiki
+
-->
+
  
 +
'''読み方'''
 +
;[[入出力ストリーム]]:にゅうしゅつりょく すとりーむ
 
__TOC__
 
__TOC__
  
 
== 概要 ==
 
== 概要 ==
 
 
プログラミングするときに、下記の3つの入出力を使い分けます。
 
プログラミングするときに、下記の3つの入出力を使い分けます。
  
行33: 行32:
 
|stdin
 
|stdin
 
|}
 
|}
 
 
== ヘッダファイル ==
 
== ヘッダファイル ==
 
 
<syntaxhighlight lang="cpp">
 
<syntaxhighlight lang="cpp">
 
#include <iostream>
 
#include <iostream>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
== ソースコード ==
 
== ソースコード ==
 
 
<syntaxhighlight lang="cpp">
 
<syntaxhighlight lang="cpp">
 
// 標準出力
 
// 標準出力
行49: 行44:
 
std::err << "Some error" << std::endl;
 
std::err << "Some error" << std::endl;
  
// 標準エラー入力
+
// 標準入力
 
int i;
 
int i;
 
std::cin >> i;
 
std::cin >> i;
行56: 行51:
 
* cout については、[[C++のHello World]] をご参照下さい。
 
* cout については、[[C++のHello World]] をご参照下さい。
 
* cin については、[[入力ストリーム]] をご参照下さい。
 
* cin については、[[入力ストリーム]] をご参照下さい。
 
 
== cerr の使用例 ==
 
== cerr の使用例 ==
 
 
エラーメッセージを 標準エラー出力 (cerr) に出す例です。
 
エラーメッセージを 標準エラー出力 (cerr) に出す例です。
 
 
=== cerr.cpp ===
 
=== cerr.cpp ===
 
 
<syntaxhighlight lang="cpp">
 
<syntaxhighlight lang="cpp">
 
#include <iostream>
 
#include <iostream>
行80: 行71:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
== コンパイル ==
 
== コンパイル ==
 
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
g++ cerr.cpp
 
g++ cerr.cpp
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
== 関連項目 ==
 
== 関連項目 ==
 
 
* [[入力ストリーム]]
 
* [[入力ストリーム]]
 +
* [[C++のiostreamのフォーマット指定]]
 
* [[C++のHello World]]
 
* [[C++のHello World]]
 
* [[C++言語解説]]
 
* [[C++言語解説]]
 +
<!-- vim: filetype=mediawiki
 +
-->

2019年8月31日 (土) 16:03時点における最新版

プログラムは、3つの入出力を持ちます。用途ごとに使い分けます。

読み方

入出力ストリーム
にゅうしゅつりょく すとりーむ

概要

プログラミングするときに、下記の3つの入出力を使い分けます。

  • stdin
  • stdout
  • stderr

エラーメッセージは、stderr と呼ばれる標準エラー出力に出します(syslogやエラーログファイルかもしれませんが)。

C++のストリームとC言語の標準出力
入出力先 C++のストリーム C言語の場合
標準出力 cout stdout
標準エラー cerr sterr
標準入力 cin stdin

ヘッダファイル

#include <iostream>

ソースコード

// 標準出力
std::cout << "Foo" << std::endl;
 
// 標準エラー出力
std::err << "Some error" << std::endl;
 
// 標準入力
int i;
std::cin >> i;

cerr の使用例

エラーメッセージを 標準エラー出力 (cerr) に出す例です。

cerr.cpp

#include <iostream>
#include <cstdlib>
#include <string>
 
int
main(int argc, char *argv[]) {
        try {
                std::string *s = new std::string ("hoge");
                delete s;
        } catch (std::bad_alloc &ex) {
                std::cerr << ex.what () << std::endl;
                exit (1);
        }
        return (0);
}

コンパイル

g++ cerr.cpp

関連項目