Я использую строки в стиле C для проекта и немного запутываю себя. Я проверяю строки, чтобы увидеть, к чему они добавляются (zone_, player_ и т. Д.), А затем получаю оставшуюся часть строки.
else if(strncmp(info, "zone_", 5) == 0)
{
int len = strlen(info);
char *zoneName = new char[len];
strncpy(zoneName, &info[5], len-5);
Msg("Zone Selected: %s\n", zoneName);
delete zoneName;
}
Когда я распечатываю переменную zoneName, она верна, за исключением того, что за ней следует кучка бреда. Что я делаю неправильно? (Я понимаю, что все остальное в массиве char пустое, но я не знаю лучшего способа сделать это)