【发布时间】:2018-11-15 04:59:06
【问题描述】:
我需要定义一个字符串数组(共20个),每个字符串包含255个字符。
在 C++ 中,我应该使用:
TCHAR lpArray[255][20];
或
TCHAR lpArray[20][255];
在 Delphi 中,我应该定义:
lpArray: array[0..254][0..19] of Char;
或
lpArray: array[0..19][0..254] of Char;
谢谢
【问题讨论】:
-
如果您与 Windows API 交互,您应该使用宽字符串,句点。在 C++ 中无需支持窄字符串,在 Delphi 中无需强制使用窄字符串。
-
要定义20个字符串的数组,字符串的数量应该是两种语言的左索引,所以第二行是正确的。你打算在用两种语言编写的程序之间进行交互吗?
-
如何最好地做到这一点在很大程度上取决于您对数据的处理方式
-
正如其他人所说,您如何执行此操作取决于您如何使用数据。如果这两种表示必须是二进制兼容的(即,如果您必须在 C++ 和 Delphi 之间进行交换),那么您的方法看起来几乎没问题,但您也可以使用 WideStrings。如果不需要二进制兼容性,您可以简单地在 Delphi 中声明一个字符串数组,在 C++ 中声明一个 std::string 数组。