---
name: "bcopy"
section: "3"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/bcopy/3"
---

# bcopy(3)

byte copy

## NAME

bcopy - byte copy

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

```
#include <strings.h>
```

**\[\[deprecated\]\] void bcopy(**size\_t n;                           **const void** *src***\[***n***\], void** *dest***\[***n***\], size\_t** *n***);**

## DESCRIPTION

The **bcopy**() function copies *n* bytes from *src* to *dest*. The result is correct, even when both areas overlap.

## RETURN VALUE

None.

## ATTRIBUTES

For an explanation of the terms used in this section, see [**attributes**(7)](/attributes/7.md).

| | | |
| --- | --- | --- |
| **Interface** | **Attribute** | **Value** |
| **bcopy**() | Thread safety | MT-Safe |

## STANDARDS

None.

## HISTORY

4\.3BSD.

Marked as LEGACY in POSIX.1-2001: use [**memcpy**(3)](/memcpy/3.md) or [**memmove**(3)](/memmove/3.md) in new programs. Note that the first two arguments are interchanged for [**memcpy**(3)](/memcpy/3.md) and [**memmove**(3)](/memmove/3.md). POSIX.1-2008 removes the specification of **bcopy**().

## SEE ALSO

[**bstring**(3)](/bstring/3.md), [**memccpy**(3)](/memccpy/3.md), [**memcpy**(3)](/memcpy/3.md), [**memmove**(3)](/memmove/3.md), [**strcpy**(3)](/strcpy/3.md), [**strncpy**(3)](/strncpy/3.md)
