Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высокоуровневые методы информатики и программир...docx
Скачиваний:
25
Добавлен:
12.11.2019
Размер:
6.53 Mб
Скачать

6.4.7. Функции обработки строк типа AnsiString

Функции объявлены файле SysUtils.hpp.

Int AnsiCompareStr(const System:: AnsiString S1, const System:: AnsiString S2) ‑ сравнивает строки S1 и S2 с учетом регистра; результат: <0 при S1<S2; =0 при S1=S2; >0 при S1>S2.

System:: AnsiString AnsiExtractQuotedStr(char * &Sre, char Quote) - воз­вра­щает строку Sre с удаленными из ее начала и конца символами кавычек, заданными как Quote, и с заменой внутри двойных кавычек на одинарные.

System:: AnsiString AnsiLowerCase/AnsiUpperCase(const System:: Ansi­S­t­ring S) ‑ возвращает строку S, приведенную к нижнему/верхнему регистру.

Int AnsiPos(const System:: AnsiString Substr, const System:: AnsiString S) - воз­вращает позицию начала подстроки Substr в s или 0.

System:: AnsiString AnsiQuotedStr(const System:: AnsiString S, char Quote) ‑ возвращает строку S со вставленными в ее начало и конец символами кавычек, заданными как Quote, и с заменой внутри строки одинарных кавычек на двойные.

Bool IsDelimiter(const System::AnsiString Delimiters, const System:: AnsiString S, int Index) ‑ определяет, является ли символ с индексом Index в строке S одним из разделителей, указанных в строке Delimiters.

Bool IsPathDelimiter(const System:: AnsiString S, const System:: AnsiString S, int Index) ‑ определяет, является ли символ с индексом Index в строке S символом “\”, используемым для задания путей файлов.

int LastDelimiter (const System:: AnsiString Delimiters, const System:: AnsiString S) ‑ возвращает индекс последнего вхождения в строку S одного из разделителей, указанных в строке Delimiters.

System::AnsiString String Replace(const System:: AnsiString S, const System::AnsiString OldPattern, const System:: AnsiString NewPattern, TreplaceFlags Flags) ‑ возвращает строку S с заменой подстроки OldPattern на NewPattern; Flags управляет заменами подстрок.

System:: AnsiString Trim(const System:: AnsiString S) ‑ возвращает строку S с удаленными начальными и конечными пробельными и управляемыми символами.

System:: AnsiString TrimLeft/TrimRight(const System:: AnsiString S) - воз­вра­щает строку S с удаленными начальными/конечными пробельными и управляемыми символами

6.4.8. Макросы обработки символов

Макросы объявлены в файле ctype.h.

int _tolower/_toupper(int ch) ‑ приведение латинской буквы к нижне­му/верх­нему регистру.

int isalnum(int c) ‑ проверка на латинскую букву или цифру.

int isalpha/isdigit(int c) ‑ проверки на латинскую букву/цифру.

int isascii(int c) ‑ проверка на символ из набора ASCII.

int iscntrl/isgraph(int c) ‑ проверка на управляющий/печатный символ.

int islower/isupper(int c) ‑ проверка на латинскую букву в нижнем/верхнем регистре.

int ispunct(int c) ‑ проверка на символ пунктуации (любой печатаемый, кроме латинской буквы, цифры, пробела).

int isspace(int c) ‑ проверка на пробельный символ (пробел, табуляция, новая строка).

6.4.9. Обработка строк с нулевым символом в конце

Функции объявлены в файлах SysUtils.hpp, string.h.

int AnsiStrComp/AnsiStrIComp(char * S1, char * S2),

Int CompareStr/CompareText(const System::AnsiString S1, const System:: AnsiString S2) ‑ сравнивает строки S1 и S2 с учетом/без учета регистра; результат: <0 при S1<S2; =0 при S1=S2; >0 при S1>S2.

int AnsiStrLComp/AnsiStrLIComp(char * S1, char * S2, Cardinal MaxLen) ‑ сравнивает до MaxLen символов строк S1 и S2 учетом/без учета регистра; результат <0 при S1<S2; =0 при S1=S2; >0 при S1>S2.

char * AnsiStrLower/AnsiStrUpper(char * Str) ‑ возвращает строку, все сим­во­лы которой приведены к нижнему/верхнему регистру.

char * AnsiStrPos(char * Str, char * SubStr) ‑ возвращает первое вхождение подстройки SubStr или Null.

char * AnsiStrRScan(char * Str, char Chr) ‑ возвращает указатель на последнее вхождение символов Chr в Str или NULL.

char * AnsiStrScan(char * Str, char Chr) ‑ возвращает указатель на первое вхождение символов Chr в Str или NULL.

char * LineStar(char * Buffer, char * BufPos) ‑ возвращает указатель на начало последней строки в Buffer, кончающейся в позиции BufPos.

char * strcat(char *dest, const char *src), char * StrCat(char *dest, char *src - до­бавляет src в конец строки dest.

char * strchr(const char * s, int c) ‑ возвращает указатель на первое вхождение c в s или NULL.

int strcmp/strcmpi(const char *s1, const char *s2) ‑ сравнивает строки s1 и s2 с учетом/без учета регистра; результат: <0 при s1<s2; =0 при s1=s2; >0 при s1>s2.

char * StrCopy(char * Dest, char * Source), char * strcpy(char * Dest, const char *Source) ‑ копирует Source в Dest и возвращает Dest.

size_t strcspn(const char *s1, const char *s2) ‑ возвращает длину начальной части строки s1, не содержащей ни одного из символов строки s2.

char * strdup(const char *s) ‑ выделяет соответствующую область в памяти и копирует в нее строку s; возвращает указатель на эту область.

char * StrECopy(char * Dest,char *Source) ‑ копирует Source в Dest и возвращает указатель на конечный нулевой символ Dest.

char *StrEnd(char *Str) ‑ возвращает указатель на конечный нулевой символ Str.

char *StrLCat(char * Dest, char *Source, Cardinal MaxLen) ‑ копирует до MaxLen символов строки Source в конец строки Dest и возвращает Dest.

char *StrLCopy(char * Dest, char *Source, Cardinal MaxLen) ‑ копирует до MaxLen символов Source в Dest и возвращает указатель на Dest.

size_t strlen(const char *s), Cardinal StrLen(char * s) ‑ возвращает число символов в s, не считая нулевого символа в конце.

char *strncat(char * dest,const char *src, size_t maxlen) ‑ копирует до maxlen символов строки src в конец строки dest и добавляет нулевой символ; возвращает dest.

int *strncmp/strncmpi(const char *s1,const char *s2, size_t maxlen) ‑ сравнивает до maxlen символов строк s1 и s2 с учетом/без учета регистра; результат <0 при s1<s2; =0 при s1=s2; >0 при s1>s2.

char *strnnset(char *s,int ch, size_t n) ‑ копирует символ ch в первые n символов s.

char *strpbrk(const char *s1,const char *s2) ‑ возвращает первое вхождение в s1 или NULL.

char * StrPCopy(char * Dest, const System::AnsiString Source) ‑ копирует Source в Dest и возвращает Dest.

char * StrPLCopy(char * Dest, const System::AnsiString Source, Cardinal MaxLen) ‑ копирует до MaxLen символов Source в Dest и возвращает Dest.

char * StrPos(char * Strl, char * Str2) ‑ возвращает первое вхождение подстройки Strl в Str2 или NULL.

char *strrchr(const char *s, int c) ‑ возвращает последнее вхождение символа с в s или NULL.

char *strrev(char *s) ‑ инвертирует (переворачивает) строку s.

char * StrScan/StrRScan(char * Str, char Chr) ‑ возвращает первое/пос­лед­нее вхождение символа Chr в Str или NULL.

char *strset(char *s,int ch) ‑ заполняет всю строку s символом ch.

size_t strspn(const char *s1, const char *s2) ‑ возвращает число первых символов строки s1, входящих в множество символов строки s2.

char *strstr(const char *s1, const char *s2) ‑ возвращает первое вхождение подстроки s2 в строку s1 или NULL.

char *strlok(const char *s1, const char *s2) (string.h) ‑ ищет первое вхождение разделителей из строки s2 в строке s1 и усекает строку s1; возможны повторные вызовы.