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 [仅限桌面应用]
目标平台 窗户
标头 winuser.h (包括 Windows.h)
User32.lib
DLL User32.dll

另请参阅

概念

参考

StringCbPrintf

StringCbPrintfEx

StringCbVPrintf

StringCbVPrintfEx

StringCchPrintf

StringCchPrintfEx

StringCchVPrintf

StringCchVPrintfEx

字符串

wsprintf