将一个C数组声明移植到Delphi

3

在C语言中,我可以这样声明并初始化一个char数组:

char arg[10] = "ANY";

有没有在Delphi中执行相同操作的简短语法?

1
在Delphi中,除非进行交互操作,一般不会使用C字符串。通常情况下,您只需使用Delphi字符串即可。那么,为什么您想要在Delphi中使用字符数组呢? - David Heffernan
听起来像是楼主试图将他对K&R C的了解转化为Delphi。 - Warren P
2个回答

5

常量:

const
  arg: array[0 .. 9] of AnsiChar = 'ANY';

本地变量:

var
  arg: array[0 .. 9] of AnsiChar;
...
  arg := 'ANY';

一个全局变量:

var
  arg: array[0 .. 9] of AnsiChar = 'ANY';

糟糕,是我的错。它能工作,我使用了PAnsichar而不是Ansichar :) - cytrinox
人们应该意识到,这段代码有意创建了一个 AnsiChar 数组,这是一件不寻常的事情。在一个 Unicode Delphi 应用程序中,如果没有必要将某些字符串“ANY”转换为 Ansi 格式,通常只需声明 const arg = 'ANY'(Unicode 字符串常量)。 - Warren P

-1

类似这样:

var arg1: string = '任何';

或者

var arg2: packed array[0..9] of char = '任何';

如果你真的想要一个从索引0开始的数组,就像C语言一样,或者

var arg3: pchar = '任何';

如果你想要一个以\0结尾的字符串


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接