Я пытаюсь скопировать символы из System :: String ^ в прямоугольный массив символов.
Сначала я попробовал: (вместе с другим кодом. Не имеет отношения к вопросу)
char name[25][21];
...
void savedata(int x, System::String ^ a){ //x is the student #, a is the name
int b;
using namespace System::Runtime::InteropServices; // for class Marshal
char* buffer((char*)(void*)Marshal::StringToHGlobalAnsi(a));
x--; //So we write buffer[b] at data[0][b] when int x is 1
for(b = 0; b < 21; b++){
data[x][b] = buffer[b];
};
}
и когда я попытался запустить и отладить его, возникло «необработанное исключение типа« System.AccessViolationException »*
Есть ли какой-нибудь более простой / лучший способ поместить String ^ в (2-мерный) массив символов, и если нет, то что я здесь не так делаю?