---
name: "al_ref_ustr"
section: "3alleg5"
platform: "linux"
package: "allegro5-doc"
version: "2:5.2.10.1+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/al_ref_ustr/3alleg5"
---

# al\_ref\_ustr(3alleg5)

Allegro 5 API

## NAME

al\_ref\_ustr - Allegro 5 API

## SYNOPSIS

-

  ```
  #include <allegro5/allegro.h>
  const ALLEGRO_USTR *al_ref_ustr(ALLEGRO_USTR_INFO *info, const ALLEGRO_USTR *us,
     int start_pos, int end_pos)
  ```

## DESCRIPTION

Create a read-only string that references the storage of another ALLEGRO\_USTR(3alleg5) string. The information about the string (e.g. its size) is stored in the structure pointed to by the `info` parameter. The new string will not have any other storage allocated of its own, so if you allocate the `info` structure on the stack then no explicit “free” operation is required.

The referenced interval is \[`start_pos`, `end_pos`). Both are byte offsets.

The string is valid until the underlying string is modified or destroyed.

If you need a range of code-points instead of bytes, use al\_ustr\_offset(3alleg5) to find the byte offsets.

## SEE ALSO

al\_ref\_cstr(3alleg5), al\_ref\_buffer(3alleg5)
