こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Visual C++ Express Edition でもprintf

Visual C++ Express Edition でもprintfを使いたい

私は、Visual C++ 2008 Express Editionを使っています。 
以前はVisual Studio 2005 Professionalを使っていました。
今まではプログラムを走らせている間の変数の変化を見るために、
printf関数を使って「出力」ウィンドウに数値を表示させていました。
Visual C++ 2008 Express Editionに変更してから、
同一のソースコードをコンパイル、実行しても
printf文で記述した出力内容を「出力」ウィンドウに表示させることができません。

これは、Express Edition特有のものでしょうか?
printfを使って変数を表示できる方法があれば教えてください。
よろしくお願いします。

投稿日時 - 2010-03-17 11:57:48

QNo.5758673

すぐに回答ほしいです

質問者が選んだベストアンサー

デバックウィンドウに出力するなら、わざわざアンマネージコードを使わずともSystem::Diagnostics::Debug::WriteLineメソッドを呼び出せば、printf関数と似たような使用方法で実現できると思うのですが・・・

MFCならTRACEマクロ、ATLならATLTRACE2が該当します。ただ、これらはデバックビルド時にしかデバックウィンドウに出力しませんが・・・

投稿日時 - 2010-03-17 13:28:26

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

>フォームアプリを作っていて、フォーム側のクラスから、アンマネージドなクラス(別ファイルで作成済み)の関数を呼び出したとき、そのアンマネージドなクラスの関数内に書いたprintf文です。

再現しません。
(Windowsフォームアプリケーションでプロジェクト作成

クラスの追加 汎用 C++ クラスウィザード でマネージドのチェックを外し、
printf("Hello!");の出力をするメソッドを追加

フォームにボタンを追加

ボタンクリックにアンマネージドのクラスのメソッドを呼ぶ処理を記述)
そもそもprintfにデバッグウィンドウに出力する機能はないはずですが。

投稿日時 - 2010-03-17 13:11:37

ANo.1

>printf関数を使って「出力」ウィンドウに数値を表示させていました。
本当?
どんなコード書いていたのですか?
VS2005 Proですが

#include <stdio.h>
int main() { printf("Hello!\n"); return 0; }

で出てきません。

投稿日時 - 2010-03-17 12:33:37

補足

フォームアプリを作っていて、フォーム側のクラスから、アンマネージドなクラス(別ファイルで作成済み)の関数を呼び出したとき、そのアンマネージドなクラスの関数内に書いたprintf文です。

投稿日時 - 2010-03-17 13:00:08