К сравнить a System::WideString
объект с char*
(так как вопрос body говорит, что вы хотите сделать), вы можете создать новый WideString
объект из указателя и затем используйте обычный оператор ==
. Класс имеет несколько конструкторов, в том числе один для const char*
.
char* foo = ...;
WideString bar = ...;
if (WideString(foo) == bar)
std::cout << "They're equal!\n";
Фактически, пока объект WideString
находится слева, вам даже не нужен вызов конструктора, потому что указатель будет преобразован автоматически.
if (bar == foo) { ... }
В преобразовать a WideString
в char*
(поскольку вопрос title говорит, что вы хотите это сделать), вы можете использовать AnsiString
* Тип 1028 *. Они конвертируемы между собой. Чтобы получить обычный указатель, вызовите метод c_str
, как если бы вы использовали std::string
.
WideString bar = ...;
AnsiString foo = bar;
std::cout << foo.c_str();