2015-03-15 2 views
2

Я пытаюсь разбить System :: String на «:», используя System :: String :: Split в моем коде на C++. Строка, которую нужно разбить, называется «responseString». Это System :: String. У меня есть:C++ Использование System :: String :: Split

char id[] = { ':' }; 
return responseString->Split(id); 

Однако это ошибки на «->» говорят, что ни один экземпляр перегруженной функции не совпадает со списком аргументов. Я проверил MSDN documentation и не вижу никакой информации об этом в C++.

Я также попытался следующие, с теми же результатами:

System::Char id[] = { ':' }; 
return responseString->Split(id); 

В документации показывает следующий пример, но я не знаю, что делать с этим:

array<String^>^ Split(
... array<wchar_t>^ separator 
) 

Любой помощь будет оценена!

+0

@Galik Я просто добавил, что responseString - это System :: String. – SeargentGen

+0

@VladfromMoscow Просто попробовал это, к тому же ошибка печально. – SeargentGen

+1

Вам нужно использовать управляемый массив: 'array ^id = {':'};' –

ответ

5

Обозначение символа может быть любого типа wchar_t, либо String ^, так и их массива. Вот небольшой пример:

String ^str="String:need:split;this"; 
array<wchar_t> ^id = { ':' ,';'}; 
array<String^> ^StringArray =str->Split(':'); 
array<String^> ^StringArray2 =str->Split(id); 
for each(String^ temp in StringArray) 
    Console::WriteLine(temp); 
Console::WriteLine(); 
for each(String^ temp in StringArray2) 
    Console::WriteLine(temp);