0

SDLを使用してユーザー入力を読み取ろうとしています。そのため、Uint16を文字列に変換する必要があります。コードは次のとおりです。

      if( event.type == SDL_KEYDOWN )
                {

                    if( strlen(str) <= 16 )
                    {
                        if( ( event.key.keysym.unicode >= (Uint16)'a' ) && ( event.key.keysym.unicode <= (Uint16)'z' ) )
                        {
                            //imprimir("espaco");
                            //strcat(str, (char*)event.key.keysym.unicode);
                            imprimir((char*)event.key.keysym.unicode);
                        }
}
}

私はそれを機能させることができません、私はすでにitoa、atoi、strcatを試し、event.key.keysym.unicodeをintに合計してからcharに変換しました、私はCに不慣れです、ありがとう

4

2 に答える 2

1

キーコード(番号)を知りたいですか?

char buffer[16];
snprintf(buffer, sizeof(buffer), "%d", event.key.keysym.unicode);
imprimir(buffer);

それとも代表キャラが欲しい?

char buffer[2];
snprintf(buffer, sizeof(buffer), "%c", event.key.keysym.unicode);
imprimir(buffer);
于 2011-10-31T14:34:26.177 に答える
0

sprintfを試しましたか?http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/

于 2011-10-31T14:33:30.153 に答える