ページ 11

DXライブラリの文字入力について

Posted: 2010年7月19日(月) 21:57
by ビッグバンベーダー
始めましてプログラミング初心者ですが、
c言語の参考書とDXライブラリのサンプルを見ながらゲームを作っている者です。

下のプログラムでつまずいてしまいました。


char Name[25];//文字配列宣言

strcpy(Name,"");//文字配列初期化

int InputHandle;//データハンドル

// 描画先を裏にする
SetDrawScreen( DX_SCREEN_BACK ) ;

// キー入力ハンドルを作る(キャンセルなし全角文字あり数値入力じゃなし)
InputHandle = MakeKeyInput( 10 , FALSE , FALSE , FALSE );

//作成したキー入力ハンドルをアクティブにする
SetActiveKeyInput( InputHandle );

while( !ProcessMessage() )
{

//入力が終了している場合は終了
if( CheckKeyInput( InputHandle ) != 0 ) break;

// 画面の初期化
ClearDrawScreen() ;

//入力途中の文字列を描画
DrawKeyInputString( 0, 0, InputHandle );

// 裏画面の内容を表画面に反映させる
ScreenFlip() ;
}


//入力された文字列を所得
GetKeyInputString( Name , InputHandle );


if(Name!="")//もし入力してあるなら
{
//処理1
}

else//入力してないなら(文字を入力せずにEnterを押した場合)
{
//処理2
}


文字を入力せずにEnterを押したとき、処理が処理2にいってほしいのですが、
処理2に行かず処理1にいってしまいます。

どうしても、解らないのでどうぞよろしくお願いいたします。

Re:DXライブラリの文字入力について

Posted: 2010年7月19日(月) 22:25
by Justy
>if(Name!="")//もし入力してあるなら
 この処理はポインタの比較であって、文字列が空であるかどうかを調べていません。

http://www.google.com/search?hl=ja&lr=l ... %83&num=50

Re:DXライブラリの文字入力について

Posted: 2010年7月19日(月) 22:42
by ビッグバンベーダー
strcmp関数を使ったら無事解決できました。
勉強になりました。
本当に、ありがとうございました。