Учись программированию на C++ Builder бесплатно!

В C++Builder тип строк AnsiString реализован как класс, объявленный в файле vcl/dstring.h и аналогичный типу длинных строк в Delphi – это строки с нулевым символом в конце. При объявлении переменные типа AnsiString инициализируются пустыми строками.
Для AnsiString определены операции отношения ==, !=, >, <, >=, <=. Сравнение производится с учетом регистра. Сравниваются коды символов, начиная с первого, и если очередные символы не одинаковы, строка, содержащая символ с меньшим кодом считается меньше. Если все символы совпали, но одна строка длиннее и в ней имеются еще символы, то она считается больше, чем более короткая.
Для AnsiString определены операции присваивания =, += и операция склеивания строк (конкатенации) +. Определена также операция индексации []. Индексы начинаются с 1. Например, если S1 - "Привет", то S1[1] вернет 'П', S1[2] вернет 'р' и т.д.

Основные методы класса AnsiString (в описаниях методов через S1 обозначена строка, метод которой используется):

Метод Синтаксис / Описание
AnsiCompare int __fastcall AnsiCompare(const AnsiString& rhs) const

Сравнивает данную строку S1 с rhs с учетом регистра. Сравнение зависит от текущих установок Windows и может отличаться от сравнения, осуществляемого операциями сравнения. Возвращает значение > 0 при S1 > rhs, значение < 0 при S1 < rhs и значение 0 при S1 = rhs
AnsiCompareIC int __fastcall AnsiCompareIC(const AnsiString& rhs) const

Осуществляет сравнение, аналогичное AnsiCompare, но без учета регистра
AnsiLastChar char* __fastcallAnsiLastChar() const

Возвращает указатель на последний значащий символ. Поддерживает многобайтные символы
AnsiPos int __fastcall AnsiPos(const AnsiString& subStr) const

Возвращает индекс первого символа первого вхождения subStr в S1. Индексы начинаются с 1. Если subStr не содержится в S1, возвращается 0. В отличие от Pos поддерживает 1 многобайтные символы
c_str char* __fastcallc_str()const

Возвращает указатель на строку с нулевым символом в конце, содержащую те же символы, что в AnsiString
CurrToStr static AnsiString __fastcall CurrToStr(Currency value)

Преобразует значение value типа Currency в строку
CurrToStrF static AnsiString __fastcall CurrToStrF(Currency value, TstringFloatFormat format, int digits)

Преобразует значение value типа Currency в строку, используя указанный формат преобразования чисел с плавающей запятой. Параметр определяет задаваемое число разрядов. Функция соответствует функции CurrToStrF с заданной точностью 19 разрядов
Delete void __fastcall Delete(int index, int count)

Удаляет из строки, начиная с позиции index число символов, равное count
FloatToStrF static AnsiString __fastcall FloatToStrF(long double value, TStringFloatFormat format, int precision, int digits)

Преобразует значение value с плавающей запятой в строку, используя указанный формат. Параметры precision и digits задают точность и число разрядов. Точность должна задаваться не более 7 для типа float, не более 15 для double и не более 18 для Extended. Число разрядов зависит от выбранного формата
Format static AnsiString __fastcall Format(const AnsiString& format, const TVarRec *args, int size)

Формирует строку, используя строку формата format и массив аргументов args
FormatFloat static AnsiString __fastcall FormatFloat(const ArisiString& format, const long double& value)

Преобразует значение value с плавающей запятой в строку, используя указанный формат format
Insert void __fastcall Insert(const AnsiString& str, int index)

Вставляет в строку подстроку str, начиная с индекса index
IntToHex static AnsiString __fastcall IntToHex(int value, int digits)

Преобразует значение value в строку, содержащую минимум digits шестнадцатеричных цифр
IsDelimiter bool __fastcall IsDelimiter(const AnsiString& delimiters, int index) const

Возвращает true, если символ с индексом index является одним из разделителей, указанных в строке delimiters. Работает и для многобайтных символов
IsEmpty bool __fastcall IsEmpty() const

Возвращает true, если строка пустая
Length int __fastcall Length() const

Возвращает число символов в строке
LowerCase AnsiString __fastcall LowerCase() const

Возвращает строку, в которой все символы приведены к нижнему регистру. Не влияет на исходную строку
Pos int __fastcall Pos(const AnsiString& subStr) const

Возвращает индекс первого символа первого вхождения subStr в S1. Индексы начинаются с 1. Если subStr не содержится в S1, возвращается 0. В отличие от AnsiPos не поддерживает многобайтные символы
SetLength void __fastcall SetLength(int newLength)

Усекает строку до newLength символов. Если исходная строка короче, то она не увеличивается
SubString AnsiString __fastcall SubString(int index, int count) const

Возвращает подстроку, начинающуюся с символа в позиции index и содержащую count символов
ToDouble double __fastcall ToDouble() const

Преобразует строку в число с плавающей запятой. Если строка не соответствует формату числа с плавающей запятой, генерируется исключение EConvertError
Tolnt int __fastcall ToInt() const

Преобразует строку в целое число. Если строка не соответствует формату целого числа, генерируется исключение EConvertError
ToIntDef int __fastcall ToIntDef(int defaultValue) const

Преобразует строку в целое число. Если строка не соответствует формату целого числа, возвращается значение по умолчанию defaultValue
Trim AnsiString __fastcall Trim() const

Возвращает строку, соответствующую исходной, но без пробельных символов до и после значащих символов
TrimLeft AnsiString __fastcall TrimLeft() const

Возвращает строку, соответствующую исходной, но без начальных пробельных символов
TrimRight AnsiString __fastcall TrimRight() const

Возвращает строку, соответствующую исходной, но без заключительных пробельных символов
Unique void __fastcall Unique()

Делает строку уникальной, т.е. устанавливает число ссылок на нее (refcnt) в 1. Таким образом, на нее ссылается только один объект
UpperCase AnsiString __fastcall UpperCase() const

Возвращает строку, в которой все символы приведены к верхнему регистру. Не влияет на исходную строку
WideChar wchar_t* __fastcall WideChar(wchar_t* dest, int destSize) const

Преобразует строку в массив символов dest типа wchar_t и возвращает указатель на этот массив
WideCharBufSize int __fastcall WideCharBufSize() const

Возвращает размер буфера, требуемого для функции WideChar
Поделиться