CHString::Format (UINT,...) 方法 (chstring.h)

[CHString 类是 WMI 提供程序框架的一部分,现在视为处于最终状态,对于影响这些库的非安全性相关问题,将不会提供进一步的开发、增强或更新。 所有新开发均应使用 MI API。]

Format 方法格式化并存储 CHString 字符串中的一系列字符和值。

语法

void  throw(CHeap_Exception) Format(
  UINT nFormatID,
  ...  
);

参数

nFormatID

包含格式控制字符串的字符串资源标识符。

...

参数列表。

返回值

CHeap_Exception

注解

如果根据 lpszFormat 中的相应格式规范转换和输出任何) ,或者从 nFormatID 标识的字符串资源,则每个可选参数都会 (。

注意 若要减少安全攻击的风险,请始终对 Format 使用格式字符串。 例如, 格式化 (输入) 是可利用的, 而格式化 (“%s”,输入) 则不可用。 切勿将用户提供的字符串用于格式字符串。 如果存储格式字符串是为了本地化等目的,请确保该字符串受到保护,防止未经授权的写入访问。 如果函数写入字符串而不是标准输出,则可能需要避免在格式字符串中使用尾随“%s”。

如果字符串对象作为 参数提供给 Format,则调用将失败。 例如,以下代码会导致不可预知的结果。

示例

CHString str = L"Some Data";

// Attention: str is also used in the parameter list.
str.Format(L"%s%d", str, 123);

注意 将字符串作为可选参数传递时,必须将其显式强制转换为 LPCWSTR。 format 参数的形式和函数与 printf 函数的 format 参数相同。 NULL 字符将追加到写入字符的末尾。

要求

要求
Header chstring.h

另请参阅

CHString

CHString::GetBuffer