【问题标题】:How to define an array of strings in C++ and Delphi如何在 C++ 和 Delphi 中定义字符串数组
【发布时间】: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 数组。

标签: c++ delphi


【解决方案1】:

您需要 20 个字符串,每个字符串 255 个字符,所以第二组示例是正确的:

TCHAR lpArray[20][255];
lpArray: array[0..19][0..254] of Char;

另一组示例创建 255 个字符串,每个字符串 20 个字符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-23
    • 2021-06-17
    • 1970-01-01
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多