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

错码改正

求实 发布于 2011-09-25 13:21, 654 次点击
#include<iostream.h>
#include<locale.h>
void main()
{
    wchar_t a[]=L"计算机";
    cout<<a[1];
}
怎么输出的是数字呀?我用的是c++6.0
#include<iostream.h>
#include<locale.h>
void main()
{
    wchar_t a[]=L"计算机";
    wcout<<a[1];
}
却说    wcout没有定义那这个怎么定义呀?
5 回复
#2
yuccn2011-09-26 08:29
wchar_t a[]=L"计算机";
cout<<a[1];
这样输出肯定有问题啦,用char类型的来输出wchar的字符串
而且就算你的输出没有问题,也是应该输出a,而不是a[1]吧,a[1]只是一个字符

#include<iostream.h>
#include<locale.h>
void main()
{
    char a[]="计算机";
    cout<<a;
}
#3
rjsp2011-09-26 09:03
#include<iostream.h>
--- 现在的C++标准库中没有<iostream.h>这个东西,只有<iostream>

#include<locale.h>
--- 按标准,应该是#include <clocale>

void main()
--- 无论是C,还是C++,无论是过去,还是现在,main的返回类型只有int

我用的是c++6.0
--- 这世上没有c++6.0,不要把VC++和C++弄混淆好不好

程序代码:
#include <iostream>
using namespace std;

int main()
{
    wcout.imbue( locale("chs") );
    wcout << L"计算机" << endl;

    return 0;
}

程序代码:
#include <stdio.h>
#include <locale.h>

int main()
{
    setlocale( LC_CTYPE, "chs" );
    wprintf( L"%s\n", L"计算机" );

    return 0;
}

不保证你换个平台"chs"还有作用
#4
求实2011-09-26 14:22
回复 楼主 求实
我想编的是定义一个汉字数组然后随意输出其中的任何哪一位,而并不是一次输出
#5
guilin08222011-10-07 21:31
改下吧,前一个改成:
#include<iostream.h>
#include<locale.h>
void main()
{
    char a[]="计算机";
    cout<<a[0]<<a[1];
}
如果提示没有定义,情况有两种:1、头文件里没申明;2、误写。
如果要写一个输出汉字的程序。汉字一个字占用2个字节,也就是字符数组的两个元素。只要同时输出这两个元素就可以了。

[ 本帖最后由 guilin0822 于 2011-10-7 21:35 编辑 ]
#6
laznrbfe2011-10-08 16:07
回复 3楼 rjsp
#include<iostream.h>
好像运算符重载还是需要这样写吧~
1