トップページ > 過去ログ > 記事閲覧
DxLibでのprintDx
名前:dic 日時: 2012/07/10 14:51

DxLibをしようしています そこで、printfDx関数が用意されていますが、この関数にバックスペースを渡すとプログラムが落ちます printfDx "Hello world\n" ); // 表示される printfDx( "\b" ); // ここで落ちる printfDx( "next\n" ); // 実行されない DxLibの仕様上バックスペースは使えないのでしょうか? よろしくお願いします

Page: 1 |

Re: DxLibでのprintDx ( No.1 )
名前:埴輪 日時:2012/07/11 00:57

printfDxは、一時的に変数の値を確認したいときに 使うぐらいで、実際の機能として文字列を表示する ときは、DrawStringやDrawFormatStringなどを使う べきだと思います。 なので、\bする必要はあるのでしょうか。
Re: DxLibでのprintDx ( No.2 )
名前:獅子 日時:2012/07/11 13:33

printfDxはprintfと互換はありません
Re: DxLibでのprintDx ( No.3 )
名前:管理人 日時:2012/07/15 06:09

> DxLibの仕様上バックスペースは使えないのでしょうか? はい、\t と \n 以外は無視する仕様になっています ただ、無視するようにしているだけなので落ちるということは無いようになっています こちらのような載せていただいた3行を実行するだけのプログラムでも落ちてしまうのでしょうか? #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode( TRUE ) ; if( DxLib_Init() < 0 ) return -1 ; printfDx( "Hello world\n" ); // 表示される printfDx( "\b" ); // ここで落ちる printfDx( "next\n" ); // 実行されない WaitKey() ; DxLib_End() ; return 0 ; } 私の手元の環境では \b が無視されるだけで問題なく動作しましたので、 よろしければお試しになってみていただけないでしょうか
Re: DxLibでのprintDx ( No.4 )
名前:dic 日時:2012/07/24 13:31

>>埴輪さん printfDxの説明にC言語にあるprintfのような動作を します みたいな記述があったので機能として 試していたところです 私がつくりたいソフトでは必要だったからです(あると便利くらい) >>獅子さん 上とおなじく ヘルプにprintfの「ような」とあったので 機能として試してみたところです >>管理人さん すいませんが、パソコンを修理に出していてて試せない状況です コンパイラはVisualC++6.0 + WindowsXP です Visual C++ Express などほかの環境では試していません (ネットカフェからの書き込みです)
Re: DxLibでのprintDx ( No.5 )
名前:管理人 日時:2012/07/29 20:41

ご指摘の通り関数リファレンスの解説が printfDx が printf と全く同じ動作を するかのように取れるものだったので、\tと\n以外のエスケープシーケンスには 非対応という記述を増やしておきました
Re: DxLibでのprintDx ( No.6 )
名前:dic(解決) 日時:2012/08/15 11:09

さっそくの対応ありがとうございました

Page: 1 |