---
title: "printf | open.mp"
description: "在控制台（服务器窗口，非游戏内聊天框）输出格式化字符串。"
canonical: https://omp.itsneufox.com/zh-CN/docs/scripting/functions/printf
language: zh-CN
---

# printf

## 描述

在控制台（服务器窗口，非游戏内聊天框）输出格式化字符串。

| 参数 | 说明 |
| --- | --- |
| const format\[\] | 格式字符串 |
| {Float, \_}:... | 任意标签类型的可变数量参数 |

## 返回值

此函数不返回特定值。

## 格式说明符

| 标识符 | 含义 |
| --- | --- |
| %i | 整数 |
| %d | 整数 |
| %s | 字符串 |
| %f | 浮点数 |
| %c | ASCII 字符 |
| %x | 十六进制数 |
| %b | 二进制数 |
| %% | 字面量 '%' |
| %q | 为 SQLite 转义文本（0.3.7 R2 版本新增） |

占位符对应的参数值必须严格按照调用时的参数顺序排列，例如 `"我今年%i岁"` 中的 `%i` 将被替换为表示年龄的整型变量。

可在 `%` 和格式字母之间添加数字指定字段宽度。若参数值的实际宽度小于指定字段宽度，系统会自动用空格扩展字段。若要限制浮点数显示的小数位数，可在 `%` 和 `f` 之间添加 `.<最大位数>`，例如 `%.2f` 表示保留两位小数。

## 示例

```c
new number = 42;
printf("数值为 %d。", number);  // 数值为 42。

new string[] = "简单信息";
printf("这是包含数字 %d 的 %s。", string, number); // 这是包含数字 42 的简单信息。

new character = 64;
printf("字符表示为：%c", character); // 字符表示为：@
```

## 注意事项

注意

格式字符串或其输出结果不应超过 1024 个字符。超出该长度可能导致服务器崩溃。

## 相关函数

-   [print](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/print): 向服务器日志和控制台输出基础信息
-   [format](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/format): 格式化字符串
