Я только что столкнулся с проблемой, с которой я застрял. Я должен удалить цветовые коды из массив символов в C. Допустим, сообщение это:Удаление цветовых кодов из массива символов в C
[15:51:55] [error]: {ffffff}you already have this vehicle!r "police car (lspd)" (modelid: 596, vehicleid: 306)
Цветовые коды являются те, в пределах {и}. Я написал эту функцию, первым аргументом является исходное сообщение, а второе - это массив для хранения исходного сообщения без цветовых кодов.
void eliminarCodigosColores(char *mensaje, char *destino)
{
for (int i = 0; i < strlen(mensaje); i++)
{
if ((mensaje[i] != '{' && mensaje[i + 7] != '}') || (mensaje[i - 1] != '{' && mensaje[i + 6] != '}') ||
(mensaje[i - 2] != '{' && mensaje[i + 5] != '}') || (mensaje[i - 3] != '{' && mensaje[i + 4] != '}') ||
(mensaje[i - 4] != '{' && mensaje[i + 3] != '}') || (mensaje[i - 5] != '{' && mensaje[i + 2] != '}') ||
(mensaje[i - 6] != '{' && mensaje[i + 1] != '}') || (mensaje[i - 7] != '{' && mensaje[i] != '}'))
{
*destino++ = mensaje[i];
}
}
}
Это не работает должным образом (цветовые коды не удаляются), и я не знаю, что не так. Есть ли лучший или простой способ сделать это?
Заранее спасибо.
Спасибо. Это сработало. –