我有一个带有列表框的表单,其中包含四个单词的行。当我点击一行时,这些词应该会出现在四个不同的文本框中。到目前为止,我已经完成了所有工作,但是我在字符转换方面遇到了问题。
列表框中的字符串是 UnicodeString,但 strtok 使用 char[]。编译器告诉我“无法将 UnicodeString 转换为 Char[]”。这是我为此使用的代码:
{
int a;
UnicodeString b;
char * pch;
int c;
a=DatabaseList->ItemIndex; //databaselist is the listbox
b=DatabaseList->Items->Strings[a];
char str[] = b; //This is the part that fails, telling its unicode and not char[].
pch = strtok (str," ");
c=1;
while (pch!=NULL)
{
if (c==1)
{
ServerAddress->Text=pch;
} else if (c==2)
{
DatabaseName->Text=pch;
} else if (c==3)
{
Username->Text=pch;
} else if (c==4)
{
Password->Text=pch;
}
pch = strtok (NULL, " ");
c=c+1;
}
}
我知道我的代码看起来不太好,实际上很糟糕。我只是在学习一些 C++ 编程。
我怎样才能转换这个?