说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

关于wchar_t类型!!

HTML文档下载 WORD文档下载 PDF文档下载
wchar_t用在哪里??具体的使用方法!!!!


拜托各位老大
关注

和尚一提问题

肯定就是高难度的了
我还不知道有这个类型啊,,
我一定要留意。。。
宽字符类型
为了与unicode兼容
叶老大!!帮帮小弟!!!
SSTS(铁冰) 大虾!!帮帮
一个字符串加上前缀修饰符“L”后就成了宽字符串
此外还有多字符常量等!

比如:'\006\007\008\009'
需要注意的是,还有这样的类型:• Wi d e S t r i n g 由Wi d e C h a r 字符组成,而不是由A n s i C h a r 字符组成的,它们跟U n i c o d e 字符串兼容。
• Wi d e S t r i n g 用S y s A l l o c S t r L e n ( ) A P I 函数进行分配,它们跟O L E 的B S T R 字符串相兼容。
• Wi d e S t r i n g 没有引用计数,所以将一个Wi d e S t r i n g 字符串赋值给另一个Wi d e S t r i n g 字符串时,就
需要从内存中的一个位置复制到另一个位置。这使得Wi d e S t r i n g 在速度和内存的利用上不如
A n s i S t r i n g 有效。
就像上面所提到的,编译器自动在A n s i S t r i n g 类型和Wi d e S t r i n g 类型的变量间进行转换。示例如
下:
v a r
W: w i d e S t r i n g ;
S : s t r i n g ;
b e g i n
W: = ' M a r g a r i t a v i l l e ' ;
S : = W; // wideString 转换成A n s i S t r i n g
S:='Come Monday';
W:=S; // AnsiString 转换成Wi d e S t r i n g
e n d ;
为了能灵活地运用Wi d e S t r i n g 类型,Object Pascal 重载了C o n c a t ( )、C o p y 、I n s e r t ( )、L e n g t h ( )、
P o s ( )和S e t L e n g t h ( )等例程以及+、=和< >等运算符。下面的代码在语法上是正确的:
v a r
W 1 , W 2 : Wi d e s t r i n g ;
P : I n t e g e r ;
b e g i n
W 1 : = ' E n f i e l d ' ;
W 2 : = ' f i e l d ' ;
If W1<>W2 then
P : = P o s ( W 1 , W 2 ) ;
e n d ;
就像A n s i S t r i n g 和S h o r t S t r i n g 类型一样,能用数组的下标来访问Wi d e S t r i n g 中一个特定的字符:
v a r
W: Wi d e S t r i n g ;
C : Wi d e C h a r ;
b e g i n
W:='Ebony and Ivory living in prefect harmony';
C:=W[Length(W)]; //C 包含W 字符串的最后一个字符
e n d ;
4. 以n u l l 结束的字符串
正如前面所提到的,D e l p h i 有三种不同的以n u l l 结束的字符串类型:P C h a r 、PA n s i C h a r 和
P Wi d e C h a r 。它们都是由D e l p h i 的三种不同字符组成的。这三种类型在总体上跟P C h a r 是一致的。
P C h a r 之所以保留是为了跟Delphi 1.0 和Win32 API 兼容,而它们需要使用以n u l l 结束的字符串,P C h a r
被定义成一个指向以n u l l (零)结束的字符串指针
在BCB里也有widestring的哦!这下子知道和bstr的转换了吧:)
记得给分哦!嘿嘿~~~
它经常用在COM中,因为COM对象的函数的字符串参数基本上都是UNICODE的。
谢谢rh@@@@@@@@@@@@@@@@@@

以后你和gugu成了事!!!!我大礼送上1!!!!!!!!!!!
我加分!!!!!大家快来!!!!净可能说多一点!!!!!!!!!!1

















我K!!!
who is gugu? 和 rh 大哥什么关系?
rh你的字体好奇怪!
先踢球去,回来再上这来。
我也要走了
我还要写程序呢~~~
其实你要的,写下widestring,按f1,全有。没有的,我基本都c+c和c+v来给你了
如何加前缀!!!
RH好样的。
??如何加前缀!!! 
up
我K!给分!
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        char L = 'A';//定义一个L先
        //注意,为了测试我说的话,你可以把这个变量定义去掉,可以看见再加L依然正确
        //而加别的就不可以!

        WideString s = L"how";//这里的L为前缀修饰符号,表示是宽字符串
        //可以试下面的语句
        ///////WideString s1 = A"aaaaaa";//这一句就不可以,前面加的是A,不知道是什么玩意

        AnsiString a = s;//直接转换
        ShowMessage(a);//显示出how

        a = a + L;//这里的L是变量,其值为字符A,是我们先前所定义的那个
        ShowMessage(a);//显示出how L
}
错了一点,最后显示的是howA,不是howL
RH你好牛啊!引自阿良。
强烈要求把此贴送入精华区。
RH我还想给你点分做为奖赏,可惜我没有可用分了,等我到灌水乐园再赚一些再给你。
哈哈,虚竹我在帮你拉客呢。
RH!!!!!!!!!!!!!!!!!




太好了!!!!!!!!!!!!!!



我送你100分!!!!!!





不过再等一下!!!结束时给你







class  AtoWConverter {
  LPWSTR _wstr;
public:
  AtoWConverter (LPCTSTR s);
  ~AtoWConverter ();
  operator LPCWSTR ();
};
class  WtoAConverter {
  LPTSTR _astr;
public:
  WtoAConverter (LPCWSTR w);
  ~WtoAConverter ();
  operator LPCTSTR ();
};

AtoWConverter::AtoWConverter (LPCTSTR s) {
#ifdef UNICODE
  // In this case both strings are Unicode and we just use normal lstrcpy.
  WCHAR* _wstr = new WCHAR[lstrlen(s)];
  lstrcpy (_wstr, s);
#else
  // We need to convert our ASCII string to Unicode and copy after that.
  //                             CP_ACP
  int len = MultiByteToWideChar (CP_OEMCP, 0, s, -1, NULL, 0);
  _wstr = new WCHAR[len];

  //                   CP_ACP
  MultiByteToWideChar (CP_OEMCP, 0, s, -1, _wstr, len);
#endif
}

AtoWConverter::~AtoWConverter () {
  delete [] _wstr;
}

AtoWConverter::operator LPCWSTR () {
  return _wstr;
}

WtoAConverter::WtoAConverter (LPCWSTR w) {
#ifdef UNICODE
  // In this case both strings are Unicode and we just use normal lstrcpy.
  TCHAR* _astr = new TCHAR[lstrlen(s)];
  return lstrcpy (_astr, s);
#else
  // We need to convert the Unicode to ASCII string and copy after that.
  //                             CP_ACP
  int len = WideCharToMultiByte (CP_OEMCP, 0, w, -1, NULL, 0, NULL, NULL);
  _astr = new char[len];

  //                   CP_ACP
  WideCharToMultiByte (CP_OEMCP, 0, w, -1, _astr, len, NULL, NULL);
#endif
}

WtoAConverter::~WtoAConverter () {
  delete [] _astr;
}

WtoAConverter::operator LPCTSTR () {
  return _astr;
}

以上试用UNICO互相转化Ansi的一个类的使用。
你可能有用。
wchar_t就是宽字符,占两个字节
up
我天山六阳掌!!!!!
天山六阳掌????????哈哈哈哈哈哈~~~还说你不是和尚!!!!!
到 11点我就给分
时间到!!!
《近匠》好雨云刘凡:提供全方位支持的一站式开发服务云平台 体验过HTC Vive,才知道何谓沉浸感 BDTC 2015:大数据技术精英云集 初版日程公布(表) 深度剖析C++对象池自动回收技术实现 React Native与ExMobi技术路线探索 SDCC 2015前端专场札记:Facebook、百度、腾讯、美团、饿了么等互联网公司的前端实战 芯片巨头为何痴恋开源软件?英特尔Imad Sousou来解密 3D Touch:岂止于Multi-Touch Atlassian亚太区业务经理Paul Conroy:敏捷是开发者的痛点 基于DuiEngine的开源DirectUI图形界面库SOUI 【CTO讲堂】工具类、新闻类、视频类等不同类型App的积分体系该如何搭建? 浏览器的改进应来自用户诉求而非商业诉求 《近匠》Moxtra:可内嵌的一站式移动协同解决方案 互联网时代的无栈开发 SDCC 2015参会感——无法计算的价值 英特尔中国研究院开放日 多个研究项目齐亮相 阿里王晶昱谈淘宝双11分布式数据库实战 为什么移动化对企业级应用如此重要? 移动App图标设计的最佳实践 在Node应用中实施Web认证的四大方法 如何在Swift中使用LLVM API? 七麦科技王东:搜索优化与数据支撑打破App推广困局 Android国外学习资源汇总 【CTO讲堂】揭秘高效协作工具背后的技术架构 TIOBE 2015年12月编程语言排行榜:Java正处巅峰 “Atlassian—敏捷就这么简单“沙龙在京落幕,百度、京东专家秘技公开 《近匠》奇点机智创始人邬霄云:用DeepShare打通App间的信息孤岛 如何使用HBase构建NewSQL? 《近匠》极验验证:基于“行为沙盒”主动框架的安全验证 C语言实现拉格朗日插值 C语言实现快速傅立叶变换 为什么JBuilder5中没有Component Palette ,即能够产生各种控件的页.象jb3那样.有swing,swingcontainers,dataexpress..... 为什么我不能给分? 如何实现网络定时传输文件??? 完了,完了,我彻底完蛋了! 我从网上下载的*.bin文件的电影怎么播放? 考水平考试的朋友请过来看。 刚收到111222的信~~~难过~~~我会想念他的~~~你们是不是也会~~~ 我的硬盘为何这样!help!! 考水平考试的朋友过来看看 我要毕业啊 ===============想知道111222去向的朋友,看这(独家披漏)===================== 以下SQL语言如何写? 111222走了~~送分~~~心里不好受~~~ 111222真的走了~~~~~~~~~~~ JBuilder中用MYSQL数据库,用中文进行条件查询时,查不出任和数据? ASM 菜鸟问题,请大家帮忙!谢谢 解释一下好了吗? ============答对我的问题者,将可获得111222的签名照片!!!!!!!!=========== 关于图片的上传 ======== 绝对好消息,activereport2.0已经release 了,cracker们出动啊~~~~~加油 ============= 关于什么才是真正的系统分析和系统分析员的讨论!——欢迎大家参加,进行善意地讨论!^&^ 今晚的球赛什么时候开始啊? 哪里有关于水平考试(高程)的模拟题的啊??? 为什麽还是不能显示中文呢? 怎样获取WIN2000的密码 在父窗体怎样画jpg格式的背景图? 如何注册MSComm控件????????? 如何解决这个问题啊?重赏啊!!!! 公告: 从现在开始封shines 111222 :)流芳斑主,结贴的工作要开始了,会很累啊!我代表大家先谢谢你了! 怎样改变MSHflexgrid中每条记录的背景颜色。急急急急急急急 各位,能不能给我讲一下“句柄”是怎么一回事? 唉,心情不爽 关于C++语法的问题? 灌水-----大学时的恶作剧(转载) "setdibs()"是什么来着,请指教,谢谢! 写注释不宜过头 这段代码错在哪里? 请大家预测一下比分(参与者都有分)开赛后就不算了,还有半个小时,赶紧着 写网络电话程序的讨论 最后一帖,贴完睡觉----如何在电梯里捣乱 怎样定制一个在程序中重用的组件?只能通过包方式吗? 寻寻觅觅 汉英计算机科技文章 互译!!有劳各位朋友费心帮忙找找 我靠!真TMD不爽,这个时候准老婆的老妈进了医院! 怎样调用*.db格式文件 谁知道哪儿有英汉互译,急急急急!!!! ISO 9001认证 VS CMM2 谁知道哪儿有《神秘的人月》下载? 为111222求情 怎样可以修改浏览器的标题? 怎样可以修改浏览器的标题1? 求方程如何解:x/14%+(5-x)/12%=40 求方程|x|+2|y|=0的解 解方程:75%x×2+3x打漏了一些东西:75%x×2+3x=90 20-x×12%=5这题解方程怎么做?请告诉方法还有过程 方程(x-1)2-(x+1)(x-1)+3(x+1)=0的解是 x+【X+1】+【X+2】+...【X+10-1】=75怎么解方程 解释一下线性回归方程 顺便求一下y关于x的线性回归方程 要过程x: 3 4 5 6y: 2.5 3 4 4.5 2个x的方程怎解解答 x—x÷10=7.74 解方程 (16+x)/(36+x)=9/19 (x+1)^2+x-2=1这道方程怎么解啊!其实原题目是:x+1 1----- + ----- =1x-2 x+1 75加10%x减15%x等于74 16+x=9/19(x+36) X*X=108+3*X怎么解呀X*X=108+3*X, 75+百分之十X-百分之十五X=74 16+x=5/9*(36+x)怎么解 X+10+X+8=108怎么解 75%X➖10=2 这个解方程怎么算啊75%X➖10=2这个解方程怎么算啊 x-0.36=16解方程一分钟 (108-x)/x=12.5% 怎么解 X减百分之15X等于68 解方程 X-0.36=16,用解方程做错了错了,是X-0.36X=16 9(X-3.8)=108怎么解? 1.已知关于x的方程4x+2=-6的解比关于x的方程4x-2a=10的解小3,求关于x的方程4ax+5=-1的解.2.一个两位数,十位数与个位数之和是14,如果把十位数与个位数数字对调,得到的两位数比原数大36,则这个两 100×(1-x)的2次方=81 求x的解 7.6x-3.2=4x-1.76 方程解 方程x(4x+6)=9 方程(1-x-3)(x+1)=-6 这类方程怎么解?有什么技巧?陈出来后又有x又有x²,实在是求不出!感激不尽 方程x÷4-x÷5=81怎么解 10(29/60-x)=18(25/60-x)这个方程怎么解? 50%*x=40%*(x+20)这个方程怎么解?过程. (2-3/4)x =4/5 (X-15)*2/3-(X-15)/3=10 怎么解这个方程? 1/3(x+50)=40%x,这个方程怎么解 用方程解答4(x+1)=3(x+2) 60%x+14=18 这个方程怎样解? 帮我解个方程:60×(X--1)=50×(X+0.2) 若方程x/2+m/3=x-4与方程1/2(x-16)=-6的解相同,求m的值. (x+4)÷3=2.5 60-x+18=53的方程怎么解 方程2分之x+3分之m=x-4与方程2分之1(x-16)=-6的解相同求m的值本人不太容易懂 4×(10X+7)=700000+X 这个方程怎么解啊?一步也别省略! 18与X的15倍的和是63.用方程解. X-0.8X+6=16这道方程怎样解 4.8x-x=0.76方程式怎么解? 已卖出10盆花,没盆15元,又卖出x盆同样的花,共收入270元(列方程并求出方程的解) 方程:x+0.8x=2.16怎么解 8x-108=28 解方程式 (100%-40%)X + 90 = 15% X 这个方程怎么解 方程8x+16=16的解是x=0 8x-108=208 解方程式 x+3=15怎么解?要方程! x平方-8x=16 这个方程怎么解? 方程x(x-2)+x-2=0的解是? 解方程:x/60 +2=x/45 (16+X)/(36+X)=6/11 求解方程的过程跪求解方程的过程 方程x^2-|x|-1=0的解是? (X-45)*60% =45 + (X-45)*40% 怎么解方程 求一道方程的解,(200+x)×36%=40+x 求方程x^2-2^x=0的解?谁会? 60%-40%x=45解方程
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn