AnsiString和UnicodeString的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AnsiString和UnicodeString的区别相关的知识,希望对你有一定的参考价值。
参考技术A 2009/2010/XE中的FileExists函数的参数为一个UnicodeString对象,即使你传入一个AnsiString对象,也会自动转换成UnicodeString类型的。 FileExists("c:\\123.txt"); FileExists(L"c:\\123.txt"); FileExists(AnsiString("c:\\123.txt")); FileExists(UnicodeString("c:\\123.txt")); 以上几种调用方式中,参数都会自动转换成UnicodeString,所以这几种调用方式都合法。C++ Builder 2009 UnicodeString 正则表达式
【中文标题】C++ Builder 2009 UnicodeString 正则表达式【英文标题】:C++ Builder 2009 UnicodeString Regular Expressions 【发布时间】:2014-01-17 17:37:25 【问题描述】:好奇的任何人都知道在C++ Builder 2009
中使用UnicodeString
执行正则表达式的一种简单、快速的方法。
特别是对于 IPv4 IP 地址。
【问题讨论】:
我使用了如下所示的 boost 正则表达式:***.com/questions/5804453/… @VenomFans 请将其发布为答案并接受它,以便其他人可以看到解决方案 @bluish,投票最多的解决方案是我使用的加上 url 参考。我不再有权访问 c++ builder(不同的工作),否则我会为您发布确切的答案。 【参考方案1】:使用 DEELX 正则表达式引擎,我为它编写了一个 BCB 包装器,可从 here 下载(独立单头)。
char *text = "My ip is 212.122.090.180";
TMatchResult result;
TRegex <char> regex("\\b\\d1,3\\.\\d1,3\\.\\d1,3\\.\\d1,3\\b", IGNORECASE);
result = regex.Match(text, 0);
if(result.isMatched())
printf("Found at %i-%i", result.start, result.length);
else
printf("Not found.");
【讨论】:
我最终使用了 boost 解决方案,但给了你一个赞成票。以上是关于AnsiString和UnicodeString的区别的主要内容,如果未能解决你的问题,请参考以下文章
我有这个unicodestring“Param�tres”,è被转换成未知字符。为啥?
是否有一个Boyer-Moore字符串搜索和快速搜索和替换功能以及Delphi 2010 String(UnicodeString)的快速字符串计数?