我使用此代码段从dll内部创建控制台。该dll被加载到游戏中。

CODE SNIPPET

控制台窗口创建良好。但是当我向它写东西时,我只会得到诸如“??? D ??”之类的东西。

我知道我必须使用printf()语法。所以我用

wprintf("%s", "test");

有指针吗?

最佳答案

尝试使用:

wprintf(L"%s", "test");

由于wprintf需要宽字符串作为输入

编辑:基于以下事实:在wprintf中使用时,%s和%S的行为会发生变化:
wprintf("%s", L"test");

wprintf中的%s期望此L“test”为宽字符串。由于wprintf定义为:我删除了format参数上的“L”:
int wprintf(char *fmt, ...)

10-08 17:53