CString

猪的飞想 2007-08-09 03:57:12
如何用CString类处理中文汉字?还有就是汉字的ASCII码怎么提取啊?
...全文
179 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
猪的飞想 2007-08-11
  • 打赏
  • 举报
回复
那再请问!ASCII码是什么类型啊?
我想用它来做计算!它整型之类的吗?如果不是怎么转换?
hoya5121 2007-08-09
  • 打赏
  • 举报
回复
汉字内码提取
char* hanzi = "汉";
hanzi[0]
hanzi[1]
参照这2句:
c1=hz[0]-0xa0; //c1=(c1<<8)>>8;
c2=hz[1]-0xa0; //c2=(c2<<8)>>8;

这个就是啊,,,
猪的飞想 2007-08-09
  • 打赏
  • 举报
回复
我关键要ASCII码!!
jixingzhong 2007-08-09
  • 打赏
  • 举报
回复
CString str(_T("这是一个测试"));
hoya5121 2007-08-09
  • 打赏
  • 举报
回复
CString 可以直接赋值汉字字符串
输出的时候,API函数内部根据字节的值(是否大于0xa)判断是汉字还是英文字符,如果是汉字则取其2个字节组成汉字
hoya5121 2007-08-09
  • 打赏
  • 举报
回复
一个内码2个字节
2个字节分别表示区码,位码
并且2个字节都 > 0xa0
这是以前写的一个字库显示的程序
可见我的博客http://blog.csdn.net/hoya5121/archive/2007/01/09/1477960.aspx
void print_hzk(char *hz,int x,int y,const char *path){
int c1,c2;
FILE *fp=NULL;
char buf[32];
unsigned long offset;
if(x<0||x>303||y<0||y>183) return ;
fp=fopen(path,"rb");
if(fp==NULL){ close_graph(); printf("Can't find file hzk16"); exit(0);}
c1=hz[0]-0xa0; //c1=(c1<<8)>>8;
c2=hz[1]-0xa0; //c2=(c2<<8)>>8;
offset=(94*(c1-1)+(c2-1))*32L;
fseek(fp,offset,0);
fread(buf,32,1,fp);
print_hz(buf,16,x,y);
fclose(fp);
}

汉字内码提取
char* hanzi = "汉";
hanzi[0]
hanzi[1]
参照这2句:
c1=hz[0]-0xa0; //c1=(c1<<8)>>8;
c2=hz[1]-0xa0; //c2=(c2<<8)>>8;

33,319

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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