LeftStr () для типа UnicodeString - PullRequest
       9

LeftStr () для типа UnicodeString

1 голос
/ 21 марта 2012

Я перевожу некоторый код C ++ Builder в BCB2010, и мне нужно заменить вызовы LeftStr() и RightStr() соответствующими функциями, поскольку их перегрузка UnicodeString отсутствует.

AnsiLeftStr(), кажется, работает, но имя меня пугает ...

Ответы [ 2 ]

3 голосов
/ 21 марта 2012

Все функции Ansi...() были перенесены в Unicode в CB2009. Схема именования была сохранена для обеспечения обратной совместимости с кодом до 2009 года, и все.

Если вы не хотите изменять код для вызова AnsiLeftStr() вместо LeftStr(), тогда вы можете просто реализовать свою собственную функцию LeftStr(), которая вызывает AnsiLeftStr() или UnicodeString::SubString() внутри, например:

UnicodeString __fastcall LeftStr(const UnicodeString &AText, const int ACount)
{
    return AnsiLeftStr(AText, ACount);
}

.

UnicodeString __fastcall LeftStr(const UnicodeString &AText, const int ACount)
{
    return AText.SubString(1, ACount);
}
3 голосов
/ 21 марта 2012

Вы правы, чтобы быть осторожным.Вместо этого используйте метод SubString из UnicodeString.

...