最近下载了一套软件的源码, 编译环境是基于 Visual Studio C++ 2008软件里显示文字是用字符串. 修改英文的话倒是没问题, 但改成中文会出现乱码.不知是为何? 应该怎样解决?
int ui_button(const void *id, const char *text, int checked, const RECT *r); //函数声明int ui_button(&clear_button, "Reset Filter", 0, &button) //第二个函数修改中文后,显示出来是乱码
{
  ...
}

解决方案 »

  1.   

    这个无法在编译器里编译的, 他们提供了别的工具, 是用命令行, 然后带参数等待生成exe文件.上面的代码是一个图形按钮的英文.
      

  2.   

    _T("Reset Filter")  这样的话会提示错误error C3861: '_T': identifier not found
      

  3.   

    不是吧,这样会出错,换成TEXT("")这个呢?
      

  4.   


    一样呃. 成了 error C3861: 'TEXT': identifier not found是否需要包含什么头文件?
      

  5.   

    该怎么说呢...   虽然源码 头文件都是C++的但只是用 C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat 这个批处理文件加上他们提供的工具和配置文件编译, 而不是采用VC++的工程编译.是个小游戏... 这样说更清楚一点吧
      

  6.   

    你在程序的一开始加上SetThreadLocale(LOCALE_USER_DEFAULT);试试.
      

  7.   

    或者SetThreadLocale(LOCALE_SYSTEM_DEFAULT);
      

  8.   

    试下把中文转换成 这样的格式 "\xFF" 
    再编译..
      

  9.   

    你那个ui_button在哪个线程运行的就在哪个线程里set
      

  10.   

      Header: Declared in Winnls.h; include Windows.h.
      Library: Use Kernel32.lib会出现其它错误..