概要
clog
もwclog
も、標準エラー出力に対する出力ストリームオブジェクトである。
すなわち、std::basic_streambuf
から派生していて<cstdio>
のstderr
オブジェクトに結びつけられているストリームバッファに出力する。
clog
はcharacter log
を意味する。またwclog
はwide character log
を意味する。[1]
例
#include <iostream>
#include <fstream>
int main(int argc, char** argv)
{
char const* filename = argv[1];
if (filename != nullptr)
{
std::clog << "ファイル名: " << filename << std::endl;
std::fstream f(filename);
std::cout << f.rdbuf() << std::endl;
}
else
{
std::clog << "ファイル名を指定してください" << std::endl;
return 1;
}
}
xxxxxxxxxx
#include <iostream>
#include <fstream>
int main(int argc, char** argv)
{
char const* filename = argv[1];
if (filename != nullptr)
{
std::clog << "ファイル名: " << filename << std::endl;
std::fstream f(filename);
std::cout << f.rdbuf() << std::endl;
}
else
{
std::clog << "ファイル名を指定してください" << std::endl;
return 1;
}
}
出力
(コマンドラインを_program_ foo.txt
としてプログラムを起動した場合)
ファイル名: foo.txt
(foo.txtの内容)
(コマンドラインを_program_ foo.txt > /dev/null
(Unix系OS), _program_ foo.txt > NUL
(Win32, DOS), _program_ foo.txt > $null
(Win32 PowerShell)などとしてプログラムを起動した場合)
ファイル名: foo.txt
バージョン
言語
- C++98
出典
- ^ Stroustrup: C++ Style and Technique FAQ(2018-08-21 17:01 JST 閲覧)