所以我有這個方法返回一個字符指針:字符指針字符數組
Private: char* currentSelectedDevice()
{
String^ comboboxText = counterComboBox->Text;
marshal_context^context = gcnew marshal_context();
char* temp;
cont char* convertedString = context->marshal_as<const char*>(comboboxText);
temp = const_cast<char *>(convertedString);
char* oneCounterPort = strtok (temp, " =");
return oneCounterPort;
}
我試圖做到的,是這種方法複製到一個字符數組。我正在考慮使用for循環,但沒有按照我的意願工作。那我該怎麼做?
我在想這樣的事情可能工作:
char temp[sizeof(currentSelectedDevice())] = currentSelectedDevice();
你爲什麼還要用'char *'打擾?你應該繼續使用'System :: String'或者使用'std :: string'或'CString'。那麼你不必擔心內存分配和字符串複製。 – crashmstr
@crashmstr請告訴我如何將字符串^轉換爲字符數組。 – Thealon
不,因爲你真的不需要(或者至少你不告訴我們你將如何使用這個和*爲什麼*它必須是一個char []')。你應該使用'System :: String ^',或者如果你需要與C++代碼交互,'std :: string str = marshal_as(counterComboBox-> Text);'。 –
crashmstr