中文字符串处理问题

我看你有戏 2006-08-10 08:16:01
中文字符串处理问题

如何把中文字符串存入数组啊

如何遍历呢
#include "stdio.h"
#include "string.h"
void main()
{
char * b = "零壹贰叁肆伍陆柒捌玖";
for(int i=0;i<5;i++)
{
printf("%c\n",*b);
b++;
}

}

已知索引 3 如何去取“叁”,有没有好点的做法呢

...全文
215 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Heaven_Redsky 2006-08-11
  • 打赏
  • 举报
回复
char * b = "零壹贰叁肆伍陆柒捌玖";
int size = (sizeof("零壹贰叁肆伍陆柒捌玖") - 1) / 9;
int index = 0;
cout << "Please Input Index:" << endl;
cin >> index;
char *Des = new char;
memset(Des, 0, size + 1);

memcpy(Des, b + size * index, static_cast<size_t>(size));

cout << Des << endl;
如果不改成w_char的话 这样也可以
BaiYangSpirit 2006-08-11
  • 打赏
  • 举报
回复
char * b = "零壹贰叁肆伍陆柒捌玖";
换种变量类型:
w_char * b = "零壹贰叁肆伍陆柒捌玖";
C++ Programming language (special edition) 提过这种变量类型
我看你有戏 2006-08-11
  • 打赏
  • 举报
回复
wiali(维埃里) 这招怎么用啊,我不会搞啊
我看你有戏 2006-08-10
  • 打赏
  • 举报
回复
我是个菜鸟啊,大家能否具体一点呢,自学了很就了,痛苦 啊
dx30611 2006-08-10
  • 打赏
  • 举报
回复
用宽字符类型
或者定义一个二维数组如char GB[10][3],
初始化时会麻烦些,每个汉字看成是一个字符串,用三个字符存储.
AdenPlus 2006-08-10
  • 打赏
  • 举报
回复
还有一招,vector<string> arr_money;

arr_money[3] == "叁"
AdenPlus 2006-08-10
  • 打赏
  • 举报
回复
w_char 或 unicode
我看你有戏 2006-08-10
  • 打赏
  • 举报
回复
谢谢提示,还有别的方便一点的方法吗
PMsg 2006-08-10
  • 打赏
  • 举报
回复
用2进制按位来存取吧

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧