724______________________________Часть II. Программирование на C++
while (*pchCurrent && *pchCurrent != ',' && *pchCurrent is ')') '{
pchCurrent++;
}
if (*pchCurrent == TERMINATING_NULL) return;
if (*pchCurrent == ')') {
// В случае однословного имени просто копируем его.
while (*lpszInternalName && *lpszInternalName != ')')
(
*lpszFirstLastResult++ = *lpszInternalName++;
} )
else {
// В случае имени с фамилией опускаем запятую и // следующие за ней пробелы. pchCurrent ++ ;
while (*pchCurrent && *pchCurrent == ' ') {
pchCurrent ++;
}
if (*pchCurrent == TERMINATING_NULL) return;
// Копируем имя.
while (*pchCurrent && *pchCurrent != ')')
{
*lpszFirstLastResult++ = *pchCurrent++;
}
if (*pchCurrent == TERMINATING_NULL) {
*lpSzFirstLastResult = TERMINATING_NULL;
return;
}
// Отделяем имя от фамилии пробелом. *lpszFirstLastResult++ = ' ';
// Копируем фамилию.
while (*lpszInternalName && *lpszInternalName != ',')
{
*lpszFirstLastResult++ = *lpszInternalName++;
}
}
// Закрываем результирующую строку. *lpszFirstLastResult = TERMINATING_NULL;
}