FillConsoleOutputCharacter 函数

重要

本文档介绍控制台平台功能,该功能已不再是生态系统蓝图的一部分。 我们不建议在新产品中使用此内容,但我们未来将无限期支持现有使用。 我们的首选最新解决方案侧重于虚拟终端序列,以实现跨平台方案中的最大兼容性。 可以在经典控制台与虚拟终端文档中找到有关此设计决策的详细信息。

将字符写入控制台屏幕缓冲区指定次数,从指定的坐标开始。

语法

BOOL WINAPI FillConsoleOutputCharacter(
  _In_  HANDLE  hConsoleOutput,
  _In_  TCHAR   cCharacter,
  _In_  DWORD   nLength,
  _In_  COORD   dwWriteCoord,
  _Out_ LPDWORD lpNumberOfCharsWritten
);

参数

hConsoleOutput [in]
控制台屏幕缓冲区的句柄。 此句柄必须具有 GENERIC_WRITE 访问权限。 有关详细信息,请参阅控制台缓冲区安全性和访问权限

cCharacter [in]
要写入控制台屏幕缓冲区的字符。

nLength [in]
字符应写入到的字符单元数。

dwWriteCoord [in]
COORD 结构,指定要将字符写入到的第一个单元格的字符坐标。

lpNumberOfCharsWritten [out]
指向变量的指针,该变量接收实际写入控制台屏幕缓冲区的字符数。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError

注解

如果要写入的字符数超出了控制台屏幕缓冲区中指定行的末尾,则会将字符写入下一行。 如果要写入的字符数超出了主机屏幕缓冲区的末尾,则会将字符写入控制台屏幕缓冲区的末尾。

写入位置的属性值不会更改。

此函数使用控制台当前代码页中的 Unicode 字符或 8 位字符。 控制台的代码页最初默认为系统的 OEM 代码页。 若要更改控制台的代码页,请使用 SetConsoleCPSetConsoleOutputCP 函数。 旧版使用者也可以使用 chcp 或 mode con cp select= 命令,但不建议将其用于新开发

提示

不建议使用此 API,并且此 API 没有等效的特定虚拟终端。 不支持在可查看窗口外填充区域,该区域保留给终端的历史记录空间。 使用新文本或颜色填充可见区域是通过移动游标设置新属性,然后为该区域编写所需文本来执行的,如果填充运行长度有必要,则重复字符。 可能需要额外的游标移动,然后编写所需的文本以填充矩形区域。 客户端应用程序应保留自己在屏幕上的内存,并且无法查询远程状态。 有关详细信息,请参阅经典控制台与虚拟终端文档

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
Header ConsoleApi2.h (via WinCon.h, include Windows.h)
Kernel32.lib
DLL Kernel32.dll
Unicode 和 ANSI 名称 FillConsoleOutputCharacterW (Unicode) 和 FillConsoleOutputCharacterA (ANSI)

另请参阅

控制台函数

COORD

FillConsoleOutputAttribute

低级控制台输出函数

SetConsoleCP

SetConsoleOutputCP

WriteConsoleOutputCharacter