---
name: "ustrzncpy"
section: "3alleg"
platform: "linux"
package: "liballegro-doc"
version: "2:4.2.2-2.2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/ustrzncpy"
---

# ustrzncpy(3alleg)

Copies a string into another one, specifying size. Allegro game programming library.

## NAME

ustrzncpy - Copies a string into another one, specifying size. Allegro game programming library.

## SYNOPSIS

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

**char \*ustrzncpy(char \*dest, int size, const char \*src, int n);**

## DESCRIPTION

This function is like ustrzcpy() except that no more than \`n' characters from \`src' are copied into \`dest'. If \`src' is shorter than \`n' characters, null characters are appended to \`dest' as padding until \`n' characters have been written. In any case, \`dest' is guaranteed to be null-terminated.

Note that, even for empty strings, your destination string must have at least enough bytes to store the terminating null character of the string, and your parameter \`size' must reflect this. Otherwise, the debug version of Allegro will abort at an assertion, and the release version of Allegro will overrun the destination buffer.

## RETURN VALUE

The return value is the value of \`dest'.

## SEE ALSO

[**uconvert**(3alleg)](/uconvert/3alleg.md), [**ustrzcpy**(3alleg)](/ustrzcpy/3alleg.md), [**ustrncpy**(3alleg)](/ustrncpy/3alleg.md), [**exkeys**(3alleg)](/exkeys/3alleg.md)
