Здравствуйте Коваленко Дмитрий, Вы писали:
КД>Через год с появления первой мысли об унификации этой операции для ANSI и UNICODE строк, наконецто я устал от дублирования кода и создал следующее чудовище:
А у меня ещё вот такое осталось со времён полного господства ANSI. Удаляет всё подряд, в том числе и лишние пробелы из середины.
void TrimAll(char *dest,const char *src)
{
if (src == 0) src = dest;
char *beg = dest;
bool wrSpace = *src != ' ';
for (; *src; src++)
if (*src != ' ') { *dest++ = *src; wrSpace = true; }
else if (wrSpace) { *dest++ = *src; wrSpace = false; }
if (beg == dest || wrSpace) *dest = '\0';
else *--dest = '\0';
}