Библиотечные функции работы со строками символов

С помощью функций стандартной библиотеки языка реализованы многие часто используемые операции над символьными строками. Прототипы функций для работы со строками содержатся в заголовочном файле <string.h>. Функции работают только с ASCIIZ-строками. Если в строке отсутствует нуль-терминатор, обработка строки может продолжаться сколь угодно долго. Функции в качестве аргумента передаются как правило указатели на строки. Если при выполнении функции выполняется перенос символов строки из одного места-источника в место-назначение, то для последнего должно быть зарезервировано место в памяти. Приведем ряд наиболее употребительных функций для работы со строками символов. Функция копирования строк. char* strcpy(char* target, const char* source);

 

Копирует строку source по адресу target, включая завершающий нулевой байт. Функция предполагает, что памяти, выделенной по адресу target, достаточно для копируемой строки. В качестве результата функция возвращает адрес первой строки.

Пример.

char str1[10], str2[10];strcpy(str1, "Hello");strcpy(str2, str1); Функция объединения (конкатенации) строк. char* strcat(char* target, const char* source);

Присоединяет вторую строку к концу первой, включая завершающий нулевой байт. На место завершающего нулевого байта первой строки переписывается первый символ второй строки. В результате по адресу target получается строка, образованная слиянием первой со второй. В качестве результата функция возвращает адрес первой строки.

Пример.

char str1[20], str2[20];strcpy(str1, "Hello ");strcpy(str2, " world");strcat(str1, str2); Функция объединения (конкатенации) строк. char* strncat(char* dest, const char* source, size_t size); Присоединяет к концу строки, на которую указывает dest, sizeсимволов строки source. Пример.char str1[20], str2[20];strcpy(str1, "01234");strcpy(str2, "56789");strncat(str1, str2,3); Результат str1будет:01234567 Функция сравнения строк. int strcmp(const char* string1, const char* string2);

Сравнивает две строки в лексикографическом порядке (по алфавиту). Если первая строка должна стоять по алфавиту раньше, чем вторая, то результат функции меньше нуля, если позже – больше нуля, и ноль, если две строки равны.

Пример.

Int res;

char str1[20],str2[20],

str3[20], str4[20];

strcpy(str1, "Иванов");

strcpy(str2, "Ивашов");

strcpy(str3, "Галиев");

strcpy(str4, "Иванов");

res=strcmp(str1,str2); // res = -1

res=strcmp(str1,str3); // res = 1

res=strcmp(str1,str4); // res = 0

Функция вычислени длины строки строки. size_t strlen(const char* string); Определяет длину строки в байтах, не считая завершающего нулевого байта. Пример.

char str1[20];

strcpy(str1, "Иванов");

res=strlen(str1); // res = 6







Дата добавления: 2016-04-22; просмотров: 858;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.