在C中将Uint16转换为字符串

在C中将Uint16转换为字符串,c,input,sdl,uint,C,Input,Sdl,Uint,我正在尝试使用SDL并读取用户输入,为此我需要将Uint16转换为字符串,以下是我的代码: if( event.type == SDL_KEYDOWN ) { if( strlen(str) <= 16 ) { if( ( event.key.keysym.unicode >= (Uint16)'a' ) &am

我正在尝试使用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);
                        }
}
}
if(event.type==SDL\u KEYDOWN)
{

如果(strlen(str)=(Uint16)'a')&(event.key.keysym.unicode您尝试过sprintf吗?

您想要密钥代码(数字)吗

还是您想要代表角色

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

也许从一本好书开始。C语言中没有本机字符串,只有字符数组。这个问题并不完全是无关紧要的,如果你对这个想法不满意,你会不断遇到问题。
char buffer[2];
snprintf(buffer, sizeof(buffer), "%c", event.key.keysym.unicode);
imprimir(buffer);