Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ВУМИП 2012-07-06.doc
Скачиваний:
66
Добавлен:
13.05.2015
Размер:
9.35 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; возможны повторные вызовы.