将Uint16转换为C中的字符串

时间:2011-10-31 14:27:43

标签: c input sdl uint

我正在尝试使用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的新手,谢谢

2 个答案:

答案 0 :(得分:2)

您想拥有密码(号码)吗?

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);

答案 1 :(得分:0)