Работа со строками

Заголовочные файлы:lstring.h или itcgi.h
Библиотеки:lstring.o или itcgi.a

Важно начать изучение нашей библиотеки именно с этого раздела.
Потому что преобладающее большинство функций используют
псевдокласс LString для передачи параметров.
LString обеспечивает динамическое хранение строк в памяти -
увеличение и уменьшение буффера строки происходит автоматически.
Любая строка создаётся вызовом CreateString()
Завершение работы со строкой DeleteString()
Хороший тон программирования обязывает освободить память после завершения работы
со строкой.

Сам тип LString объявлен так:
typedef char* LString;

То есть является указателем на указатель, хранящий строку.
Переменную типа LString* легко преобразовать к типу char*
просто применив к ней операцию разъименования '*'.
Вернуться к списку разделов

LString* CreateString(void);

Параметры:
нет
Описание
Возвращает указатель на объект LString, то есть char**

void DeleteString(LString* s);

Параметры:
Указатель на объект LString.
Описание
Удаляет объект LString освобождая память.

void LString_Format(LString* p, const char* fmt, ...);

Параметры:

Описание
Очень мощная функция, позволяющая создавать форматированную строку по шаблону fmt.

void LString_Replace(LString* p, const char s1[], const char s2[]);

Параметры:
Описание
Функция ищет все вхождения строки s1 в объекте LString и заменяет их на s2.
Процесс происходит не рекурсивно - p просматривается последовательно.

void LString_ReplaceOne(LString* p, int start, const char s1[], const char s2[]);

Параметры:
Описание
Функция ищет первое вхождения строки s1 в объекте LString и заменяет её на s2.
Процесс происходит не рекурсивно - p просматривается последовательно. В отличие от
LString_Replace() осуществляется замена только первой найденой строки.

int LString_Find(const LString* p, const char s[], int index);

Параметры:
Описание
Возвращает индекс символа начала подстроки. Или (-1) в случае отсутствия таковой.

void LString_Insert(LString* p, int index, const char s[]);

Параметры:
Описание
Вставляет подстроку в строку в нужной позиции.

void LString_SetAt(LString* p, int index, char c);

Параметры:
Описание
Функция производит замену символа в строке p по позиции index на символ c.
Действует примерно так: (*p)[index]=c;

char LString_GetAt(const LString* p,int index);

Параметры:
Описание
Функция производит получение символа в строке p по позиции index.
Действует примерно так: return (*p)[index];

void LString_SetString(LString* p, const char s[]);

Параметры:
Описание
Эта функция является переходником заганяющим строку char* в LString.
При необходимости память выделяется автоматически.

void LString_AddString(LString* p, const char s[]);

Параметры:
Описание
Дописывает к строке p строку s (как и strcat() для строк).

char* LString_GetString(const LString* p);

Параметры: Параметром является строка LString которую надо преобразовать к char*.
Описание
Возвращает содержимое строки. Выполняется код вроде: return *p;

int LString_GetLength(const LString* p);

Параметры: Параметром является строка LString размер которой надо получить.
Описание
Возвращает размер строки в символах. Выполняется код вроде: return strlen(*p);

int LString_MidStartCount(const LString* p, int start, int count, LString* value);

Параметры:
Описание
Получает подстроку из строки.

int LString_MidStartEnd(const LString* p, int start, int end, LString* value);

Параметры:
Описание
Получает подстроку из строки.
[an error occurred while processing this directive]