---
name: "memset_pattern"
section: "3"
platform: "macos"
package: "Libc"
version: "1752.120.2"
release: "macOS 26.5"
platforms: ["macos"]
url: "https://new.carta.tech/memset_pattern"
---

# memset\_pattern(3)

memset of a multi-byte pattern

## NAME

**memset\_pattern4**, **memset\_pattern8**, **memset\_pattern16** – memset of a multi-byte pattern

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<string.h\>**

*void*\

**memset\_pattern4**(*void \*b*, *const void \*pattern4*, *size\_t len*);

*void*\

**memset\_pattern8**(*void \*b*, *const void \*pattern8*, *size\_t len*);

*void*\

**memset\_pattern16**(*void \*b*, *const void \*pattern16*, *size\_t len*);

## DESCRIPTION

These are analogous to  **memset**(), except that they fill memory with a replicated pattern either 4, 8, or 16 bytes long. *b* points to a buffer of size *len* bytes which is to be filled.  The second parameter points to the pattern. If the buffer length is not an even multiple of the pattern length, the last instance of the pattern will be truncated. Neither the buffer nor the pattern pointer need be aligned.

## EXAMPLES

The following example:

```
char buf[10];
memset_pattern4( buf, "1234", sizeof(buf) );
```

will set the buffer to the value "1234123412".

## SEE ALSO

[memset(3)](/memset/3.md)

## HISTORY

These functions first appeared in Mac OS 10.5.
