- •1. Инкапсуляция
- •2. Полиморфизм
- •3. Наследовние
- •3) Базовые конструкции
- •4) Константы
- •5)Общая структура программы
- •Int main() - обьявление функции с именем main (возвращающ. Целочисл значение)
- •11)Классы памяти (влияет на область видимости и время жизни переменной)
- •12)Описание и определение функций
- •13)Назначение прототипа функции-
- •14)Операторы
- •15)Массивы-конечная совокупность данных одного типа
- •21)Пример,swap
- •27)Работа с указателями на примере строк
- •28)Конкатенация строк
- •29)Удалить последний символ строки
- •30)Сегмент данных для хранения констант
- •31)Функции стандартной библиотеки для работы со строками string.H
- •21) Функция strtok
- •22) Указатели на функции.
- •33)Пример использования массивов указателей
28)Конкатенация строк
-
Код C
1
char *strcpy( char *dest, const char *src );
Функция копирует содержимое строки src в строку dest, поверх его содержимого и возращает полученную в результате строку dest.
-
Код C
1
char *strcat( char *dest, const char *src );
Функция присоединяет содержимое строки src в конец строки dest и возращает результат присоединения.
- потому, что для работы функции strlen(const char*) нужно, чтобы строка, передаваемая параметром, сама оканчивалась на '\0', т.к. нуль-терминатор обозначает конец строки. Реализация strlen может выглядеть так:
-
Код C
1
2
3
4
5
6
7
size_t strlen(const char* str)
{
size_t n = 0;
while(*str++)
++n;
return n;
}
Как видно из реализации, цикл while (подсчет символов) продолжается до тех пор, пока очередной символ не равен '\0'
strncat() в отличие от strncpy() она всегда присоединяет нуль-символ к результату, в то время как strncpy() не присоединяет, если не доходит до него в копируемой строке, из-за чего его приходится ставить вручную
29)Удалить последний символ строки
String Text = "Hello World!!";
Text.Delete(Text.Length(),1);
Удаление символов строки #include <string>
erase (size_type pos=0,size_type n=npos) - удаляет n символов с указанной позиции;
erase (iterator p) - удаляет один символ в указанной позиции;
erase (iterator f, iterator l) - удаляет символы с позиции f по l.
30)Сегмент данных для хранения констант
Директива #define служит для замены часто использующихся констант,
ключевых слов, операторов или выражений некоторыми идентификаторами.
#define имя_макроса последовательность_символов
31)Функции стандартной библиотеки для работы со строками string.H
char *strcopy(char *dsk, char *src); \\ из src копирует в dsk
int strcomp(char *s1, char *s2); \\ сравнение строк, то что по алф раньше-меньше
char *strcut (char *s1, char *s2); \\ s2 дописывается к s1
сhar *strstr(char *str,char *substr); \\ первое вхождение substr в строке str
сhar *strchr(char *str,int key); \\ первое вхождение символа key в строкe str
int strlen(char *s);
char *strtok(char * str, char * delim); \\ разбивает фразу на части
