---
name: "pack_fread"
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/pack_fread"
---

# pack\_fread(3alleg)

Reads n bytes from the stream. Allegro game programming library.

## NAME

pack\_fread - Reads n bytes from the stream. Allegro game programming library.

## SYNOPSIS

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

**long pack\_fread(void \*p, long n, PACKFILE \*f);**

## DESCRIPTION

Reads \`n' bytes from the stream \`f', storing them at the memory location pointed to by \`p'. Example:

```
   unsigned char buf[256];
   ...
   if (pack_fread(buf, 256, input_file) != 256)
      abort_on_error("Truncated input file!");
```

## RETURN VALUE

Returns the number of bytes read, which will be less than \`n' if EOF is reached or an error occurs. Error codes are stored in errno.

## SEE ALSO

[**pack\_fopen**(3alleg)](/pack_fopen/3alleg.md), [**pack\_fopen\_chunk**(3alleg)](/pack_fopen_chunk/3alleg.md), [**pack\_feof**(3alleg)](/pack_feof/3alleg.md), [**expackf**(3alleg)](/expackf/3alleg.md)
