wvsprintfA 函数 (winuser.h)

使用指向参数列表的指针将格式化数据写入指定的缓冲区。 参数列表指向的项根据格式控制字符串中的相应格式规范进行转换并复制到输出缓冲区。 函数将终止 null 字符追加到其写入的字符,但返回值在其字符计数中不包括终止 null 字符。

警告 请勿使用。 请考虑改用以下函数之一: StringCbVPrintfStringCbVPrintfExStringCchVPrintfStringCchVPrintfEx。 请参阅安全注意事项。
 

语法

int wvsprintfA(
  [out] LPSTR   unnamedParam1,
  [in]  LPCSTR  unnamedParam2,
  [in]  va_list arglist
);

参数

[out] unnamedParam1

类型: LPTSTR

要接收格式化输出的缓冲区。 缓冲区的最大大小为 1,024 字节。

[in] unnamedParam2

类型: LPCTSTR

格式控制规范。 除了普通 ASCII 字符外,此字符串中还显示了每个参数的格式规范。 有关格式规范的详细信息,请参阅 wsprintf 函数。

[in] arglist

类型: va_list

此列表的每个元素指定格式控制字符串的参数。 参数的数量、类型和解释取决于 lpFmt 参数中的相应格式控制规范。

返回值

类型: int

如果函数成功,则返回值为缓冲区中存储的字符数,不计算终止 null 字符。

如果函数失败,则返回值小于预期输出的长度。 要获得更多的错误信息,请调用 GetLastError。

注解

函数将格式控制字符串逐个字符复制到输出缓冲区中,从字符串中的第一个字符开始。 当它遇到字符串中的格式规范时,该函数检索下一个可用参数的值 (从) 列表中的第一个参数开始,将该值转换为指定的格式,并将结果复制到输出缓冲区。 函数继续以这种方式复制字符和扩展格式规范,直到到达格式控制字符串的末尾。 如果参数多于格式规范,则忽略额外的参数。 如果没有足够的参数用于所有格式规范,则结果为未定义。

注意

winuser.h 标头将 wvsprintf 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll

请参阅

概念性

引用

StringCbPrintf

StringCbPrintfEx

StringCbVPrintf

StringCbVPrintfEx

StringCchPrintf

StringCchPrintfEx

StringCchVPrintf

StringCchVPrintfEx

字符串

wsprintf