---
title: "fread | open.mp"
description: "从文件中读取单行内容。"
canonical: https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fread
language: zh-CN
---

# fread

## 描述

从文件中读取单行内容。

| 参数 | 说明 |
| --- | --- |
| File:handle | 要读取的文件句柄（由 fopen 返回）。 |
| string\[\] | 存储读取内容的字符串数组（引用传递）。 |
| size = sizeof (string) | 要读取的字节数。 |
| bool:pack | 是否启用压缩格式？（默认：false）。 |

## 返回值

返回读取内容的字符串长度（整数值）。

## 示例

```c
// 以"只读"模式打开"file.txt"
new File:handle = fopen("file.txt", io_read);

// 初始化缓冲区
new buf[128];

// 检查文件是否成功打开
if (handle)
{
    // 操作成功

    // 读取整个文件内容
    while (fread(handle, buf))
    {
        print(buf);
    }

    // 关闭文件
    fclose(handle);
}
else
{
    // 操作失败
    print("文件\"file.txt\"不存在或无法打开。");
}
```

  

```c
// 以"读写"模式打开"file.txt"
new File:handle = fopen("file.txt");

// 初始化缓冲区
new buf[128];

// 检查文件是否成功打开
if (handle)
{
    // 操作成功

    // 读取整个文件内容
    while (fread(handle, buf))
    {
        print(buf);
    }

    // 将文件指针重置到起始位置
    fseek(handle, _, seek_begin);

    // 向文件写入内容
    fwrite(handle, "I just wrote here!");

    // 关闭文件
    fclose(handle);
}
else
{
    // 操作失败
    print("文件\"file.txt\"不存在或无法打开。");
}
```

## 注意事项

注意

使用无效句柄会导致服务器崩溃！请通过 [fopen](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fopen) 或 [ftemp](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/ftemp) 获取有效文件句柄。

## 相关函数

-   [fopen](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fopen): 打开文件
-   [fclose](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fclose): 关闭文件
-   [ftemp](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/ftemp): 创建临时文件流
-   [fremove](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fremove): 删除文件
-   [fwrite](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fwrite): 写入文件
-   [fputchar](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fputchar): 写入单个字符
-   [fgetchar](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fgetchar): 读取单个字符
-   [fblockwrite](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fblockwrite): 写入数据块
-   [fblockread](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fblockread): 读取数据块
-   [fseek](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fseek): 定位文件指针
-   [flength](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/flength): 获取文件长度
-   [fexist](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fexist): 检查文件是否存在
-   [fmatch](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fmatch): 匹配文件名模式
-   [ftell](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/ftell): 获取当前指针位置
-   [fflush](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fflush): 刷新文件缓冲区
-   [fstat](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fstat): 获取文件状态信息
-   [frename](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/frename): 重命名文件
-   [fcopy](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fcopy): 复制文件
-   [filecrc](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/filecrc): 计算 CRC32 校验值
-   [fattrib](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fattrib): 设置文件属性
-   [fcreatedir](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fcreatedir): 创建目录
