注册 登录
编程论坛 C++教室

VC++6.0编译代码中含有汉字,汉字显示正常,但运行exe文件时出现乱码!

CharleyShaw 发布于 2014-03-31 16:55, 852 次点击
VC++6.0编译代码中含有汉字,汉字显示正常,但运行exe文件时出现乱码!
比如要打印出"我爱学编程",在编译器中显示正常,正常生成exe文件,但是运行exe文件后
结果打印出来是"║╗╢╣╤╦╫╬",各种制表符乱码。
求解,如何使运行exe文件后能正常显示汉字。
@高手
求解
8 回复
#2
wp2319572014-03-31 16:57
代码页??
#3
CharleyShaw2014-03-31 20:08
回复 2楼 wp231957
不是,代码页的汉字显示正常,就是生成的exe文件打开后,本来应该显示的汉字结果是乱码
#4
CharleyShaw2014-03-31 20:27
回复 2楼 wp231957
程序代码:
例如下面的代码中的汉字在编译界面显示的正常,生成exe文件在运行时,本来该显示的汉字显示的是制表符乱码
void test1()
{
    system("cls");
    puts("你惊恐地瞪大了眼睛望着四方,屋里很空,只有一个大衣柜\n一张桌子,桌子上有一些食物。你昏睡了几天,饿极了。\n你刚要拿起食物吃掉的时候,看到旁边有一张纸条。\n纸条的反正面都写满了字。\n正面:\n你是第六个来到这儿的人。欢迎你。\n作为主人,我有必要为客人准备东西。\n这些食物就当是我的一点意思。\n快吃吧,你一定饿极了。吃饱了才有力气回家。\n还有,千万记住,屋外面有恐怖的东西,别出去。\n会有人来救你!\n——主人。\n反面:\n正面的话是假的!别相信他!\n快跑,衣柜里有通道!\n食物被下了毒,你吃掉会死!\n别呆在屋里,一会儿会有僵尸围住你的!\n——无名人。");
    int m;
    while(m!=1)
    {
        m=0;
        puts("1.正面");
        puts("2.反面");
        scanf("%d",&m);
        while(getchar()!='\n');
        switch(m)
        {
        case 1:puts("你没心没肺的把食物吃掉了- -。\n最后因为食物里有硫酸而腐化至死。");finish();
        case 2:test2();break;
        default:puts("别乱来o.o,再给你一次机会");
        }
    }
}
#5
wp2319572014-03-31 21:13
我使用vc6.0 无法还原你的错误情况
所以这个问题 无法说清
#6
wp2319572014-03-31 21:15
要不然使用vs系列吧  大家都说vc60有些old
#7
CharleyShaw2014-03-31 22:19
回复 6楼 wp231957
哦,谢谢了
#8
TonyDeng2014-04-01 03:42
是你的系統有問題,不是編譯器版本的問題。初學者學人玩各種非主流系統,又不先學相關基礎,遇到問題當然無法理解,最怕又受人誤導。
#9
zklhp2014-04-01 08:34
puts("你没心没肺的把食物吃掉了- -。\n最后因为食物里有硫酸而腐化至死。");

有硫酸吃的时候应该知道啊

VS系列的编译器有一点好 支持中文或者说是Unicode的变量和函数 也就是说 高版本的VS支持

int 变量1 = 6;

这样的东东
1