CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
strcat-strdup
STRCAT-STRDUP #include<string.h> требуется только для объявления функции char *strcat(string1,string2); добавляет string2 к string1 char *string1; строка-приемник char *string2; строка-источник char *strchr(string,c); находит первое вхождение c в string char *string; строка-источник int c; поисковый символ int strsmp(string1,string2); сравнивает строки char *string1; char *string2; int strcmpi(string1,string2); сравнивает строки вне зависимости от типа регистра char *string1; char *string2; char strcpy(string1,string2); копирует string2 в string1 char *string1; строка-приемник char *string2; строка-источник int strcspn(string1,string2); находит первую подстроку символов в string1, не входящую в string2 char *string1; строка-источник char *string2; множество символов char *strdup(string); дублирует строку char *string; строка-источник int stricmp(string1,string2); сравнивает строки вне зависимости от типа регистра char *string1; char *string2; Описание. Функции strcat, strchr, strcmp, strcmpi, strcpy, strspn, strdup, stricmp работают со строками, оканчивающимися '\0' симво- лом. Аргументы строк для этих функций предполагают наличие нуле- вого символа ('\0'), отмечающего конец строки. При копировании или добавлении строк проверка на переполне- ние не выполняется. Функция strcat добавляет string2 к string1, заканчивает ре- зультирующую строку нулевым символом и возвращает указатель на строку-приемник (string1). Функция strchr возвращет указатель на первое вхождение c в string. Символ c может быть нулевым символом ('\0'); нулевой символ окончания string включается в поиск. Функция возвращает NULL, ес- ли символ не найден. Функция strcmp лексикографически сравнивает строки string1 и string2 и возвращает значение, обозначающее их соотношение так, как показано ниже. Значение Его смысл меньше 0 string 1 меньше string 2 0 string 1 равна string 2 больше 0 string 1 больше string 2 Функции strcmpi и stricmp являются причинно-нечувствитель- ными версиями strcmp. Два аргумента string1 и string2 сравнивают- ся вне зависимости от типа регистра; это обозначает, что формы букв верхнего и нижнего регистров рассматриваются эквивалентными. Функция strcpy копирует string2 (включая нулевой символ окончания) в расположение, которое определяется по string1, и возвращает string1. Функция strcspn возвращает индекс первого символа в string1, который принадлежит множеству символов srting2. Это зна- чение эквивалентно длине начальной подстроки строки string1, ко- торая содержит все символы, не входящие в строку string2. При по- иске нулевые символы окончания не рассматриваются. Если string1 начинается с символа, содержащегося в строке string2, strcspn возвращает 0. Функция strdup захватывает память (с возвратом malloc) для копирования string и возвращает указатель на память, содежащую скопированную строку. Функция возвращает NULL, если память не мо- жет быть захвачена. Возвращаемые значения для этих функций описаны выше. См. также strncat, strncmp, strncpy, ctrnic,p, strrchr, strspn. Пример. #include <string.h> char string[100], template[100], *result; int numresult; . . . /* создает строку "computer program" посредством использо- вания strcpy и strcat */ strcpy(string, "computer"); result = strcat(string," program"); /* находит строку, в которой первый раз обнаружено 'a' */ result = strchr(string,'a'); /* определяет, является ли строка больше, меньше или равной другой */ numresult = strcmp(string, template); /* сравнивает две строки вне зависимости от типа регистра */ numresult = strcmpi("hello", "HELLO"); /* создает копию строки */ result = strcpy(template,string); /* находит "a","b","c" в строке */ strcpy(string,"xyzabbc"); result = strcspn(string,"abc"); /* создает новый указатель на строку для дублирования стро- ки */ result = strdup(string);