如何从SDL_TEXTINPUT获取utf-8输入?

时间:2017-12-16 17:53:33

标签: c++ utf-8 sdl-2

这是一个小代码,当我们按下“é”键或特殊字符和法语键盘时,我们会在控制台中输入奇怪的字符,例如“├®”。

#include <iostream>
#include "SDL.h"
using namespace std;

int main(int argc, char** argv)
{
    SDL_Init(SDL_INIT_EVERYTHING);
    SDL_CreateWindow("test", 100, 100, 1920, 1080, SDL_WINDOW_RESIZABLE);
    bool opened = true;
    SDL_Event event;
    while(opened)
    {
        SDL_StartTextInput();
        SDL_WaitEvent(&event);
        switch(event.type)
        {
            case SDL_QUIT:
                {
                    opened = 0;
                    break;
                }
            case SDL_TEXTINPUT:
                {
                    cout << event.text.text << endl;
                    break;
                }
        }
    }
    return EXIT_SUCCESS;
}

PS:我正在使用SDL 2

已解决:只需使用TTF_RenderUTF8_Blended进行渲染(文件输出就可以了)

1 个答案:

答案 0 :(得分:0)

只需使用TTF_RenderUTF8_Blended进行渲染(文件中的输出就可以了)

相关问题