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

汉字读取

wuyushuai521 发布于 2012-10-16 22:02, 532 次点击
劳烦各位同仁看下面一段程序:
#include <iostream>
using namespace std;
int main()
{
    char a[3][2];
    int i;
    for(i=0;i<3;i++)
        cin>>a[i];
    for(i=0;i<3;i++)
        cout<<a[i]<<endl;
    return 0;
}
该程序的目的是读取汉字。在下的问题是当我输入“赵 钱 孙” 之后,输出结果是:赵钱孙 钱孙 孙。。我想问一下,c++中汉字读取要注意的事项有哪些,谢谢。
6 回复
#2
wuyushuai5212012-10-16 22:27
本人感觉是字符空间的问题。。。
#3
寒风中的细雨2012-10-16 22:34
char a[3][4];
#4
小小小火柴2012-10-16 22:36
   这是一个二维数组,你应该不可以这样利用一个循环就直接输入,输出!
#5
小小小火柴2012-10-16 22:45
  楼上帅哥说的应该没错。应该是空间的问题!
#6
wuyushuai5212012-10-16 22:52
请教一下版主:一个汉字占两个字符空间吗
#7
wuyushuai5212012-10-16 23:08
在下又想了想,感觉用字符串数组读入汉字效果更方便一些:
#include <iostream>
#include <string>
using namespace std;
int main()
{
    string name[10];
    int i;
    for(i=0;i<3;i++)
        cin>>name[i];
    for(i=0;i<3;i++)
        cout<<name[i]<<endl;


    return 0;
}
1