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

关于wchar_t类型!!

编辑:说三道四文库 发布时间:2017-11-18 08:23
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点我就给分
时间到!!!
TList的用法-Delphi资料 不规则窗口的实现-Delphi资料 不用标题栏也移动窗体-Delphi资料 窗口建立和关闭时的特效-Delphi资料 窗口中状态行的显示-Delphi资料 动态提示的可视化实现-Delphi资料 动态修改显示器分辨率-Delphi资料 对数据库中的数据进行处理-Delphi资料 改变壁纸-Delphi资料 改变元件的视窗式样-Delphi资料 给MDI主窗口加背景-Delphi资料 更改StatusBar为黑底绿字-Delphi资料 画布的圆拷贝和直线拷贝-Delphi资料 回车替Tab下移控件-Delphi资料 获取系统颜色-Delphi资料 渐变色窗口背景-Delphi资料 控件深度投影和阴影效果的实现-Delphi资料 控制Delphi的窗口显示位置 控制Form不能放大、缩小、移动、关闭-Delphi资料 控制系统菜单-Delphi资料 利用Delphi实现支持窗体的自定义函数 轻轻松松在DELPHI3.0中实现三态按钮 全部窗体可使用鼠标移动-Delphi资料 让按钮连续工作--兼谈Delphi元件开发 让彩色光标出现在Delphi程序中 让彩色光标出现在程序中-Delphi资料 在Windows桌面的任务栏上有一个凹陷的区域,其中显示着系统时钟以及一些图标,这个长方形的区域便 如何使用Show方法来显示一个模态窗口-Delphi资料 如何旋转字体-Delphi资料 如何隐藏和显示Windows的任务条-Delphi资料 如何在DELPHI界面上运行可执行文件 jsp 文字出现乱码(急,有分奖赏) 哪里有完整的MINE解码组件 如何置换bitmap背景色? 寻求可共享的稳定的FTP 为什么文件没有被下载?!急 请问这是什么错误? 有关DATAGRID中((HyperLink)e.Item.Cells[0].Controls[0].FindControl("HyperLink2")).Text的问题,请帮帮我!! Include 的疑惑 寻找一个叫dingke的朋友,我将把邮箱给你,但我不小心弄丢了你的联系信箱,请速与我联系 为什么delphi程序总是有sysinit和system单元? 哪里有完整的MINE解码组件 有关关机程序的问题,帮帮忙。 安装树的问题?????????? 求助!关于ip地址数据库的 读多个串口时为什么时钟停止了? 安装树的问题?????????? 请教FxScanner是什么程序? 请大家出主意 为什么总是让我下载java虚拟机 调查一下大家在用VB做软件时最常用哪些控件呀, DataGrid_UpdateCommand里怎么取不到变化后的值 求助!关于ISAPI的问题? 一个简单问题,高分求解。。 我是东东树的妹妹,我有问题要问大家。关于jsp页面重定向问题? system.globaliztion.cultureinfo("en_US") 是不是C#中要进行字符集的转换处理 请问以下构造函数的sql有什么错误?提示AS附近由于发错误,字段名可以用变量吗? windows2000与windows2003的互相访问的问题? 一个简单基本的问题求教高手,急在线等 Blue Workshop产品消息:.Net插件Replace it 1.3在CSDN和www.skycn.com.cn总下载量突破900次; SharpRefactor(C#代码重构工具)在CSDN的下 J2ME中文显示问题,急!! ado.net 我发现JSP一个奇怪的问题???想要看看吗???进来呀!!! 昨晚2点多一个mm突然打电话找我聊天,各位觉得我有戏没? 哪里有完整的MINE解码组件 为什么我装完FreeBSD系统启动时Sendmail启动的特别慢,telnet时也很慢。 小弟初学JSP,想搞点源代码来学习学习。 难搞的MIDAS 局域网的问题,急死了, vb中继承及分辨率问题 ASP里有没有带下拉框的输入框? 象素数据和图象数据 公司的一个数据库被人del,现在想查查是谁什么时候做的? 为什么我的窗口无法操作 关于oracle数据库增量备份土土的一问。 ArrayList问题 请教:在CB6下面怎么用 TMediaPlayer 控件来录音? 南开的vb习题集!!! 请问:如何在servlet中获得当前时间和当前日期?菜鸟问题,请见谅。 为什么我的opendialog不能返回filename,而返回了一个 $符号 大家对购买tcl笔记本等国产笔记本有没有什么建议? 第一次用vfp,新手提问? 政治经济常识简答题 草本阳生植物叶的总蒸腾量与草本阴生植物的总蒸腾量的关系是怎样的?两者叶的角质层蒸腾量的关系是怎样的?如果要在空旷而且阳光充足的地方种植草本植物,最好是种植哪种植物? 氨基 羧基 钛键 钛键数 氨基酸数 有什么联系 陈子昂字什么? 第7题 需要什么原料,具体步骤是什么, 第7题 吓怎么组词 吓的组词有哪些 政治简答题:结合所学知识与资料,谈谈中央倡导的尚俭作风和网民发起的光盘行动为什么能得到全国的响应?2012年12月4日,习近平总书记主持召开中共中央政治局会议,审议通过了中央政治局 请用经济常识简要回答.建国60周年,我国政治、文化、经济、社会各方面都发生了翻天覆地的变化.我国人民生活消费的急剧变迁从一个侧面印证了60年的伟大成果.服饰消费:从缝缝补补到个 联合国官方微博发布反战视频 吁挽救叙叙利亚副总理贾米勒被解职“丝绸之路”国际研讨会在索非亚举行联合国对黎巴嫩北部教派冲突深表不安24省区市前三季度城镇居民收入出炉 教科书免费使用作品时代终结 汇编者将美国主持人就歧视性言论道歉土耳其举行阅兵式庆祝建国90周年国际原子能机构与伊朗发表联合声明称对“今日中国 中国电影周”于曼谷开幕国新办副主任崔玉英谈德国“中国西藏文10种食物让男性少生病12个技术类岗位等您来60名学生今起陆续上岗啥最让辽宁消费者闹心?服装鞋帽高清:美国各地民众庆祝马丁·路德·金冬季防治手足皲裂六安舒城:父亲遗留枪支 儿子收藏触刑超级幸运!仅买一张刮刮乐就收获15万中西医结合疗法治痔疮 点赞!月经不调如何治疗?郑赛赛两盘告负止步澳网首轮 金花军团
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘