C char类型到delphi的转换
可能重复:
将C数组声明移植到Delphi
我正在将C代码转换为Delphi,我想转换变量声明,但我真的不知道..你能帮忙吗?
char szImageName[BUFMAXLEN];
谢谢。
Delphi的等价物是:
var szImageName: array [0..BUFMAXLEN-1] of AnsiChar;
注意使用AnsiChar
而不是Char
因为在现代版本的Delphi中,generics类型Char
被别名为2字节的WideChar
。 当然,如果您使用的是Unicode前Delphi,则此警告不相关。
语法的最大区别在于C中的所有数组都有0作为下限。 在Delphi中,您可以指定您希望的下限。 当然为了匹配C代码,我们将0指定为下限。
szImageName: array[0..BUFMAXLEN-1] of AnsiChar;