double arrow

Функция strncat


Пример

Функция strcat

Пример

Функция strlen

Определение длины строки

Пример

Функция strncpy

Пример

Функция strdup

Пример

char name[41] ;

strcpy(name, "Borland C++ 5");

Переменная name содержит строку "Borland C++ 5".

Функция strdup копирует одну строку в другую, при этом отводит не­обходимое количество памяти для целевой строки.

Прототип функции strdup таков:

char* strdup(const char *source);

Функция копирует строку source и возвращает указатель на стро­ку-копию.

char *string1 = "Монархия в Испании";

char *string2;

string2 = strdup(string1);

После того, как будет отведено необходимое количество памяти для строки string2, строка string1будет скопирована в строку string2.

Библиотека строковых функций предлагает также функцию strncpy, ко­пирующую заданное количество символов из одной строки в другую.

Прототип функции strncpy таков:

char * strncpy(char *target, const char *source, size_t num);

Функция копирует num символов из строки source в строку target. Функция не выполняет ни усечение, ни заполнение строки.

char str1[] = "Pascal";

char str2[] = "Hello there";

strcnpy(strl, str2, 5);

Переменная strl содержит строку "Hellol". Заметьте, что символ ‘l’ строки-приемника, следующий за скопированной частью строки, сохра­нился.

При работе со строками часто бывает нужно знать длину строки.

Функция strlen возвращает количество символов в строке, в которое не включается нуль-терминатор.

Прототип функции strncpy таков:

size_t strlen (const char *string) ,

Функция strlen возвращает длину строки string. size_t — это имя, приписанное типу unsigned int оператором typedef.

char str[] = "1234567890";

size_t i;

i = strlen(str),

Переменной i будет присвоено значение 10.

Конкатенация строк

Операция конкатенации используется достаточно часто, когда новая строка получается объединением двух или более строк.

Присоединить одну строку к другой можно функцией strcat.

Конкатенация строк означает их последовательное присоединение друг к другу.

Прототип функции strcat таков:

char *strcat(char *target, const char *source) ;

Функция добавляет к содержимому целевой строки содержимое строки-источника и возвращает указатель на целевую строку. Функция предполагает, что целевая строка может вместить содержимое объеди­ненной строки.

char string[81] ;

strcpy(string, "Turbo");

strcat (string, " C++");

Переменная string содержит строку "Turbo C++".

Функция strncat добавляет к содержимому целевой строки указанное количество символов из строки-источника.

Прототип функции strcat :

char *strncat(char *target, const char *source, size_t num);

Функция добавляет к содержимому целевой строки num символов из строки-источника и возвращает указатель на целевую строку.

char strl[81] = "Hello I am ";

char str2[41] = "Keith Thompson";

strncat(strl, str2, 5);

Переменная strl теперь содержит строку "Hello I am Keith".

Пример использования функций getline, strlen и strcat в файле List7_4.cpp (исходный код программы STRING.CPP). Программа выполняет следующие задачи:

· Предлагает вам ввести строку; ввод не должен превышать 40 символов

· Предлагает вам ввести вторую строку; ввод не должен превышать 40 символов

· Выводит число символов, содержащихся в каждой строке

· Присоединяет вторую строку к первой

· Выводит результат конкатенации

· Выводит длину объединенной строки

· Предлагает вам ввести символ для поиска

· Предлагает вам ввести символ для замены

· Выводит содержимое объединенной строки после замены символа


Сейчас читают про: