none
中文和日文输出乱码 RRS feed

  • 问题

  • 代码如下:
    #include<stdio.h>
    #include "webdef.h"
    #include <locale.h>
    #include     "stdafx.h"

    int main(int argc, _TCHAR* argv[])
    {
     char *str = NULL;
     setlocale(LC_ALL,"japanese");

     str = (char *)malloc(255);
     if(str != NULL){
      memset(str,0,255);
      strcpy(str, "使用可能記憶域");
     }

     printf("%s\n",str);

     if(str != NULL){
      memset(str,0,255);
      strcpy(str, "使用可能的记忆域");
     }
     printf("%s\n",str);

     if(str != NULL){
      free(str);
      str = NULL;
     }
     return 0;
    }

    编译出来可执行文件在中文系统下一切现实正常,
    但是在日文的操作系统下无论中文还是日文都是乱码?
    哪位大虾知道为什么

    2009年8月18日 6:49

答案

  • 至少不是编译器决定文件的保存编码

    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2009年8月19日 2:16
    版主

全部回复

  • 可能是你的连接库用的中文 从资源文件看一下,你的可执行文件语言是什么? 对话框属性->语言->Chinese(P.R.C.) 还有:VS_VERSION_INFO
    2009年8月18日 8:36
  • 不要在代码中写文本,放到数据文件或者资源的字符串表里面。

    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2009年8月18日 13:27
    版主
  • 直接写和写到数据文件里有什么区别吗??

    2009年8月19日 1:23
  • 至少不是编译器决定文件的保存编码

    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2009年8月19日 2:16
    版主