- 热门文章:
- · 文字编辑器--vi简介
- · 日志文件的监测与文件清理
- · HP-UX11配置全过程
- · aCC+List
- · 研究一下STL for aCC
- · 软件仓库的应用>>HP-UX
- · 添加新的磁盘
- · HP-UX的网络管理模拟题之一
- · 扩展文件系统
- · HP-UX shutdown参数的意义
- · 用swinstall命令安装patch
- · hpux停sendmail,snmp,rstatd服务
string to wstring?
如何把一个汉字作为一个字符来处理?在以前,似乎比较麻烦,因为一个汉字一向是由2个字符来表示的。比较汉字,往往变成了字符串的比较。
unicode出现之后,情况就好多了,每个汉字都有唯一的编码,从此汉字就可以作为单个字符来对待了。
stl提供了string类来处理字符串,但是针对的是单字节字符串。如果想处理汉字,可以选择wstring。用法和string完全相同,但是处理的是宽字符。
string到wstring之间的转换,似乎stl没有提供好的方法,所以还得用c的库函数来处理。
以下给出一段代码,演示在unix下面,处理汉字的方法
/*
FileName: str2wstrdemo.cpp
Compile command:aCC -AA +DD64 -I/opt/aCC/include_std str2wstrdemo.cpp -lstd_v2 -lCsup_v2 -o 1
*/
#include <iostream>
#include <string>
#include <list>
#include <stdlib.h>
#include <locale.h>
namespace std {} using namespace std;
int main()
{
int cnt;
wchar_t wcs[100], wc;
string myword="列表内容为:";
setlocale(LC_CTYPE, ""); //很重要,没有这一句,转换会失败
mbstowcs(wcs, myword.c_str(), 99);
wstring newword(wcs);
cout<<"string content is:"<<myword.c_str()<< endl;
cout<<"wstring size is:" <<newword.size()<<endl;
return 0;
}
- · 用命令行查看HP 9000系统软硬件配置
- · es45 error message
- · aCC + STL
- · 高可用性oracle配置步骤
- · unix 下的动态连接库
- · 学习aCC中
- · 双机中安装第二个Oracle库并用MC/ServiceGuar…
- · Chassis code logging failure
- · 在HP-UX下用dbca创建第二个数据库的注意事项(…
- · 系统管理员的日常工作
- · 怎样更改 hostname,IP地址等?
- · 系统开、关机和PDC简介
- · Unix环境配置问题
- · 中国105个城市的必吃菜 (转载)
- · 第 8 部分:安全 shell 及文件共享
- · 开发交互式字符界面工具安装及使用说明
- · 程序好比一个人的脸
- · zrusb驱动的诞生来历
- · RS6000 44P 270 主机不认光纤通道卡
- · F85电源问题搞定!!!
- · Defunct进程(死进程)
- · 关于F85机器电源的闹心故障!!!
- · 关于HACMP的启动和关闭脚本!!
- · 今夜在客户处加班至深夜
- · 磁带机的一些tips
- · AIX学习读书笔记
- · 第一篇:AIX SA的流水-格式化硬盘的步骤
- · 学习性能调优的一些笔记
- · RS6000引导列表的查看和修改
- · Common Boot Time LEDs and Their Solution
- · 婚姻中的经济学(收藏)
- · 古代中国外战十大英雄将领(转贴)
- · Adjust LIMIT & SLEEP_TIME to suite you…
- · Adjust LIMIT & SLEEP_TIME to suite you…
- · ps
- · HACMP 解决方案
- · 请高手
- · root用户的密码丢失后的恢复
