C char类型到delphi转换

pau*_*ohr 2 c delphi

可能的重复:
将 C 数组声明移植到 Delphi

我正在将 C 代码转换为 Delphi,并且我想转换变量声明,但我真的不知道..你能帮忙吗?

char szImageName[BUFMAXLEN];
Run Code Online (Sandbox Code Playgroud)

谢谢。

Dav*_*nan 5

德尔福等效为:

var
  szImageName: array [0..BUFMAXLEN-1] of AnsiChar;
Run Code Online (Sandbox Code Playgroud)

请小心使用AnsiChar而不是Char因为在现代版本的 Delphi 中泛型类型Char被别名为 2 byte WideChar。当然,如果您使用的是 Unicode 之前的 Delphi,则此警告并不相关。

语法上最大的区别是,C 中的所有数组都以 0 作为下界。在 Delphi 中,您可以指定您想要的任何下限。当然,为了匹配 C 代码,我们指定 0 作为下限。