2011年06月13日21:54 カテゴリプログラム C++でstd::coutの出力をデバッグ出力に回す C++始めて二週間目。 主にVisualStudio2008でビルドしてますが… std::cout << "hogehoge" << std::endl; これがデバッグ出力に出力されないのが微妙に不便。 printf()もなんだけどね。 コレMacのXcodeだと出来るのに!と思いつつ調べてみたら、OutputDebugString()を使った実装方法を見つけたのでメモ。 class nnStreambuf : public std::streambuf { public: virtual int_type overflow(int_type c = EOF) { if(c != EOF) { char buf[] = { c, '\0' }; OutputDebugString
先日twitterで「C++でデバッグする時、よくやるよね」って言ったら結構知らない人がいたのでここでも紹介してみる。 既存のコードでcout/cerrを使ったデバッグ文がわんさかあって、これログファイルとして出力したいな...って場合ありますよね。 そんな場合 #include <iostream> #include <fstream> using namespace std; int main() { // こんなの ofstream ofs("debug.log"); cout.rdbuf(ofs.rdbuf()); // いれとく cout << "debug string" << endl; } こうしておくと、その後のcoutへの出力が全てdebug.logというファイルへ出力される。 なおrdbufを元に戻すには #include <iostream> #include <f
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く