Bri*_*awk 5 delphi string ansistring widestring delphi-xe2
是否有一个方便的Format()函数只适用于Ansi字符串?因为每次我使用带有Format()的AnsiString时都会收到警告.不,我不希望Delphi在Wide和Ansi字符串之间来回转换我的AnsiStrings.这只是让事情变得非常慢.另外,有没有办法强制字符串常量为Ansi?看一下这个
function SomeStrFunc(S: AnsiString): AnsiString; overload;
function SomeStrFunc(S: String): String; overload;
Run Code Online (Sandbox Code Playgroud)
然后当我使用SomeStrFunc('ABC')时,它将调用宽字符串版本.如果我想使用Ansi版本并强制Delphi在AnsiChars中存储'ABC'常量怎么办?
Serg回答了你关于某个AnsiString版本的问题Format().我会回答你的另一个问题.
字符串文字根据它们使用的上下文进行编码,因此要将文字强制为特定编码,您必须告诉编译器需要使用哪种编码,例如:
SomeStrFunc(AnsiString('ABC'));
Run Code Online (Sandbox Code Playgroud)
要么
const
cABC: AnsiString = 'ABC';
SomeStrFunc(cABC);
Run Code Online (Sandbox Code Playgroud)