MEMORY(3C) MEMORY(3C)
НАЗВАНИЕ
memory: memccpy, memchr, memcmp, memcpy, memset - функ-
ции для работы с памятью
СИНТАКСИС
#include
char *memccpy (s1, s2, c, n)
char *s1, *s2;
int c, n;
char *memchr (s, c, n)
char *s;
int c, n;
int memcmp (s1, s2, n)
char *s1, *s2;
int n;
char *memcpy (s1, s2, n)
char *s1, *s2;
int n;
char *memset (s, c, n)
char *s;
int c, n;
ОПИСАНИЕ
Данные функции максимально эффективно манипулируют с
областями памяти (массивами символов, размер которых
определяется счетчиком, а не нулевым байтом в конце).
Функции не выполняют проверку переполнения массива-при-
емника.
Функция memccpy копирует символы из области памяти s2 в
s1 до тех пор, пока либо не будет скопировано первое
вхождение символа c, либо не будет скопировано n симво-
лов. Функция возвращает указатель на следующий после c
элемент массива s1 в случае, если c был найден, или
пустой указатель (NULL), если c не был найден среди
первых n символов s2.
Функция memchr возвращает указатель на первое вхождение
символа c в n первых символов области памяти s или пус-
той указатель, если символ c не встретился.
Функция memcmp сравнивает первые n символов своих аргу-
ментов. Функция возвращает целое число, меньшее, равное
или большее 0, если s1, соответственно, лексикографи-
чески меньше, равно или больше s2.
Функция memcpy копирует n символов из области памяти s2
в s1. Результат функции - s1.
Функция memset заполняет первые n байт области памяти s
символами c. Результат функции - s.
Для удобства пользователей все эти функции описаны во
включаемом файле .
ОГРАНИЧЕНИЯ
Функция memcmp использует аппаратное сравнение симво-
лов. Поэтому результаты сравнения цепочек, содержащих
символы со старшим битом, равным единице, машинно-зави-
симы. В данной системе подобные символы трактуются как
отрицательные числа.
Так как пересылка символов осуществляется по-разному в
различных реализациях, перекрытие областей памяти может
привести к неожиданным результатам.
|