C++/CLI のコンソールアプリケーションで標準エラー出力

ふと思い立って,以前作ったGUIのプログラム(C++/CLIで書いたもの)をCUI化した.

そのとき,C++でいうところの

std::cerr << "usage: ~" << std::endl;

みたいなことをやりたくなった.C++/CLIでは,標準出力に出力する

System::Console::WriteLine("usage: ~");

という関数はあるが,ググっても標準エラー出力への出力方法が見つからなかったのでメモしておく.(実際はMSDNで見つけたけど.)

Consoleクラスには,Errorというメンバがいて,こいつが標準エラー出力のインスタンス.これWriteLineメソッドを呼べばよい.つまり

System::Console::Error->WriteLine("usage: ~");

と書くと,標準エラー出力に出力できる.

まとめると,

  • 標準出力
    • C
fprintf(stdout,"Test\n");
    • C++
std::cout << "Test" << std::endl;
    • C++/CLI
System::Console::WriteLine("Test");
    • Java
System.out.println("Test");
  • 標準エラー出力
    • C
fprintf(stderr,"Test\n");
    • C++
std::cerr << "Test" << std::endl;
    • C++/CLI
System::Console::Error->WriteLine("Test");
    • Java
System.err.println("Test");

コメントする