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);
}
