| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 353 人关注过本帖, 1 人收藏
标题:求解 二维字符数组 小白求
只看楼主 加入收藏
guzenghui
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2012-6-26
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:4 
求解 二维字符数组 小白求
想要用二维字符数组
二维字符数组初始化这一方面
倘若 二维数组赋值
 ……
  int a[2][3];
 for(int i=0;i<2;i++)
   for(int j=0;j<3;j++)
      cin>>a[i][j];
for(int i=0;i<2;i++)
  {  
    for(int j=0;j<3;j++)
    cout<<a[i][j];
    cout<<endl;
   }
    那么 char a[2][4]想要将 “李大”“王三”赋值里面
   如何做
   还是根本就不可行
斑竹拜托 看一眼
2012-06-27 17:25
guzenghui
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2012-6-26
收藏
得分:0 
这个 行吗   坐等
2012-06-27 17:54
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:10 
楼主是初学吧,这个时候研究宽字符的输出有点难以理解,因为c++有专门表示宽字符的类型 wchar_t。
C++入门经典这本书的前几章就讲到过。当然,输出也不能用cout而应该用wcout了。
怎么说呢,将一个汉字拆分为两部分来显示通常是没有意义的。建议楼主用拼音或英文来替代吧。

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2012-06-27 19:31
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:10 
嗯,的确。
即使有些编译器支持,实际结果可能也和楼主想像的不太一样:(这是我的结果,不保证你的运行结果一样。)
程序代码:
#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
    char a[] = "李大";

    cout << a
        << "\nsizeof(a): " << sizeof(a) << endl;

    return 0;
}
输出为:
李大
sizeof(a): 7

c++ 在国际化方面支持并不是很出色。所有底层的编码问题,都需要程序员自己处理。而编码问题本身又存在着很多复杂性。
如果需要处理包含非 ascii 的文本,我倾向于使用其它一些更方便的编程语言来处理。比如 python 或者 perl。
2012-06-28 00:22
jiantiewen
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:61
专家分:307
注 册:2012-6-22
收藏
得分:0 
我不解4楼为何会得到7,你是不是用linux系统的,默认字符编码方式是UTF-8,这样一个中文字用3个字节,加个结束符刚好是7。我用VS2008得到的是5,很好理解。所以完全可以输入中文,就是要注意定义数组时预定一个大一点的空间。如我的示例:
程序代码:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
    char a[3][32];
    cin >> a[0]>>a[1]>>a[2];
    cout << a[0]<<a[1]<<a[2]<<endl;
    return 0;

 }



[ 本帖最后由 jiantiewen 于 2012-6-30 00:12 编辑 ]
2012-06-30 00:10
快速回复:求解 二维字符数组 小白求
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017230 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved