printf デバッグのトピックがあったので、デバッガの無い BCC Developer で使おうと思い、
AllocConsole();
freopen("CONOUT$", "w", stdout);
を記述して printf を実行したのですが、文字が表示されませんでした。
これは、BCC のバグなのか?、いろいろ悩みながらイジッテいたら、
改行の \n を文字列に入れると表示されることが分かりました。
理由は分かりませんが、これで一つ賢くなりました(喜)。
printf デバッグ
Re: printf デバッグ
バッファリングの関係かもしれませんね。
文字を出力する処理の後にfflush(stdout);という処理を入れてみてください。
文字を出力する処理の後にfflush(stdout);という処理を入れてみてください。
Re: printf デバッグ
freopen ( "CONOUT$", "w", stdout );
freopen ( "CONIN$", "r", stdin );
で動作するのでプログラム終了時にFreeConsoleを呼び出して解放させればOKです。
freopen ( "CONIN$", "r", stdin );
で動作するのでプログラム終了時にFreeConsoleを呼び出して解放させればOKです。
Re: printf デバッグ
>みけCATさん
ずばり正解でした。改行コード無しでも表示できました。
>naohiro19さん
了解しました。以下のプログラムで正解だと思います。
これでまた一つ賢くなれました。ありがとうございました(感謝)。
ずばり正解でした。改行コード無しでも表示できました。
>naohiro19さん
了解しました。以下のプログラムで正解だと思います。
これでまた一つ賢くなれました。ありがとうございました(感謝)。
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
{
ChangeWindowMode( TRUE );
if( DxLib_Init() == -1 ) {
return -1;
}
//デバッグ用にコンソールを呼び出す
AllocConsole();
freopen("CONOUT$", "w", stdout);
freopen("CONIN$", "r", stdin);
printf("こんにちは、デバックです!");
fflush(stdout);
WaitKey(); //キー入力待ち
FreeConsole(); //コンソール解放
DxLib_End();
return 0;
}