CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
strncat-strnset
STRNCAT-STRNSET #include<string.h> требуется только для объявления функции char *strncat(string1,string2,n); добавляет n символов string2 к string1 char *string1; строка-приемник char *string2; строка-источник unsigned int n; количество добавляемых символов char *strncmp(string1,string2,n); сравнивает первые n символов строк char *string1; char string2; unsigned int n; количество сравниваемых симво- лов int strnicmp(string1,string2,n); сравнивает первые n символов строки char *string1; char string2; unsigned int n; количество сравниваемых симво- лов char *strncpy(string1,string2,n); копирует n символов string2 в string1 char *string1; строка-приемник char *string2; строка-источник unsigned int n; количество добавляемых символов char *strnset(string,c,n,); инициализирует n первых симво- лов строки string char *string; инициализируемая строка int c; символ-приемник unsigned int n; количество принимаемых символов Описание. Функции strncat, strnsmp, stricmp, strncpy, strnset работа- ют с первыми n символами строк, оканчивающимися нулевым символом. Функция strncat добавляет n первых символов строки string2 к строке string1, заканчивает результирующую строку нулевым сим- волом ('\0') и возвращает указатель на строку-приемник (string1). Если n больше, чем длина строки string2, тогда вместо n использу- ется длина строки. Функция strncmp лексикографически сравнивает первые n сим- волов строк string1 и string2 и возвращает значение, которое ука- зывает на отношение между подстроками, как приведено ниже: Значение Его смысл меньше 0 substring 1 меньше substring 2 0 substring 1 равна substring 2 больше 0 substring 1 больше substring 2 Функция stricmp является причинно-нечувствительной версией strncmp; функция stricmp сравнивает две строки string1 и string2 вне зависимости от чувствительности к регистрам; это обозначает, что формы букв верхнего и нижнего регистров рассматриваются как эквивалентные. Функция strncpy копирует точно n символов строки string2 к строке string1 и возвращает string1. Если n меньше, чем длина string2, нулевой символ окончания ('\0') автоматически не добавля- ется к копируемой строке. Если n больше, чем длина string2, ре- зультат string1 заполняется нулевыми символами, вплоть до дости- жения длины n. Функция strnset устанавливает первые n символов string в символ c и возвращает указатель на измененную строку. Если n больше, чем длина строки string, вместо n используется длина string. См. также strcat, strcmp, strcpy, strset. Пример. #include <string.h> char string[30]={"12345678901234567890"}; main() { char copy[100], suffix[100], *result; int numresult; unsigned int nresult; . . . /* комбинирует строку со строкой suffix, не более чем 10 символов (30 минус длина начальной строки). (Если в примере ис- пользуется более 10 символов, в память будет записано любое дру- гое значение) */ result = strncat(string,suffix,10); /* определяет порядок слов в строке, которая содержится в "program", но рассматривает не более 7 символов. Если строка со- держит префикс "program", strncmp возвращает 0 */ strcpy(string,"programmer"); numresult = strncmp(string,"program",7); /* сравнивает 4 символа двух строк вне зависимости от типа регистра */ strcpy(string,"PROGRESS"); nresult = stricmp(string,"program",4); /* копирует 99 символов строки */ result = strncpy(copy,string,99); /* устанавливает первые 4 символа строки в символ 'x' */ result = strnset("computer",'x',4); }