BReinhart Ответов: 1

Как отобразить массив символов ushort в списке C++ builder?


Во-первых, я использую C++ Builder. У меня есть метод в классе, который загружает файл в различные структуры. Одно из полей в структуре определяется как, например:

typedef unsigned short namechar;

struct MyStruct {
int id;
namechar name[32];
};


Код использует цикл for для прохождения через все структуры, чтобы отобразить поле name в поле ListBox, но:

for (int i = 0; i < MyStructArray.size(); i++)
{
   ListItem->Items->Add(MyStructArray[i].name);
}


не действовать. Я перепробовал много разных подходов и провел последние несколько часов, занимаясь поиском в google, но до сих пор не знаю, как преобразовать поле имени для отображения в списке.

Что я уже пробовал:

Я перепробовал все, что только мог придумать. Массив namechar-это UTF16, А C++ Builder требует UnicodeString, что, насколько я знаю, одно и то же. Я поставлен в тупик этим вопросом, занимаюсь им уже почти 6 часов и ничего не понимаю.

Patrice T

Убедитесь, что UTF16 и UnicodeString-это одно и то же. Может получиться сюрприз.

1 Ответов

Рейтинг:
4

BReinhart

Ладно, я заставила его работать. Решение, которое я использовал, таково:

for (int i = 0; i < a001.size(); i++)
{
	String s = (wchar_t *) a001[i].name;
	ListItem->Items->Add(s);
}